Preheat the oven to 350 degrees Fahrenheit. Line two muffin tins with cupcake liners and set aside.
In a large bowl, sift together 1 (15.25-ounce) box yellow cake mix and 1 (3.4-ounce) box vanilla pudding mix.
In a separate bowl, combine 3 large lightly beaten eggs, 1 cup buttermilk, ⅓ cup vegetable oil, ¾ cup sour cream, and 1 teaspoon vanilla extract. Mix to combine.
Add the dry cake mixture to the egg mixture and mix until just combined.
Cinnamon-Sugar Swirl
Combine ¼ cup brown sugar and 1 teaspoon ground cinnamon in a small bowl. Stir until combined.
Spoon the cupcake mixture into the bottom of the cupcake liners about ¼ the way full. Spoon the cinnamon-sugar swirl on top and swirl together with a toothpick or fork.
Fill the cupcake liners ¾ the way full with more cupcake batter. Spoon another layer of the cinnamon-sugar swirl on top and swirl together. The cupcake batter and filling should make 24 cupcakes.
Streusel
Combine ½ cup all-purpose flour, ¼ cup brown sugar, ¼ cup unsalted softened butter, and 1 teaspoon ground cinnamon into a food processor or blender. Pulse until the mixture is crumbly. Sprinkle even amounts on top of the cupcakes.
Bake for 17-20 minutes or until a toothpick inserted in the center comes out clean.
Allow the cupcakes to cool slightly before frosting them.
Cream Cheese Frosting
Combine 1 ounce softened cream cheese and ¼ cup softened unsalted butter. Using a hand mixer beat until smooth.
Add 1 cup powdered sugar, ½ teaspoon vanilla extract, and pinch of salt and mix to combine. Add 1-2 tablespoons heavy cream or milk and mix until you reach a desired consistency.
Spread over the slightly cooled cupcakes or drizzling the glaze on with a spoon.