Preheat the oven to 350 degrees Line two muffin tins with liners and set aside.
In a large bowl, sift together the pudding and cake mix.
In a separate bowl, combine the lightly beaten eggs, buttermilk, vegetable oil, sour cream, and vanilla extract. Mix.
Mix wet and dry until combined (do not over-stir or beat in too much air)
Cinnamon-Sugar Swirl
Combine the brown sugar and cinnamon in a small bowl. Stir until combined.
Spoon the cupcake mixture into the bottom of the cupcake liners about 1/4th the way full. Spoon the cinnamon-sugar swirl on top and swirl together with a toothpick or fork. Fill up to 3/4ths the way full on the cupcake liner with more cupcake batter. Again spoon the cinnamon-sugar swirl on top and swirl together. The cupcake batter and filling should exactly fill 24 cupcake cavities
Streusel:
Combine all the ingredients in a food processor or blender and pulse until the mixture is crumbly. Sprinkle even amounts on top of the cupcakes
Bake the cupcakes for 17-20 minutes or until a toothpick inserted in the center comes out clean.
Let cool slightly before putting on frosting.
Cream cheese frosting
Combine the cream cheese and butter. Using hand mixers or a stand mixer, beat until smooth. Add in the powdered sugar, vanilla, and a pinch of salt. Mix. Add in a tablespoon of heavy cream or milk until the consistency you desired is reached.
Spread over the slightly cooled cupcakes either covering the tops completely or drizzling the glaze on with a spoon.