In a large bowl, whisk together the flour, brown sugar and ground cinnamon for the streusel topping. Work in the cold butter cubes until a sand like texture develops. There will be a few bigger crumbs, but most should be finer, smaller pieces. Place the bowl in the fridge until the muffins are ready for topping.
In a small bowl whisk the brown sugar and ground cinnamon together until well combined.
In a medium bowl whisk the all purpose flour, baking powder and salt together until well combined.
In a large mixing bowl, beat the butter and sugar together until light and fluffy. This takes about 2-3 minutes. Scrape the sides and bottom of the bowl.
With the mixer on low, beat in the eggs, sour cream and vanilla extract one at a time until well combined. Don't worry if the mixture looks grainy during this step.
Using a flexible spatula or on the lowest mixing speed, stir in the dry ingredients and milk into the wet, alternating in this order: dry, milk, dry, milk, dry.
Allow the muffin batter to rest for 20 - 30 minutes at room temperature. This helps thicken the batter and creates a taller lift during baking. During this time, preheat the oven to 400 F (204 C). Line a 12 ct. muffin pan with cupcake or muffin liners. Scoop a heaping tablespoon of muffin batter into each of the lined muffin wells. Top with a heaping teaspoon of cinnamon filling. Followed by another tablespoon of muffin batter on top of the filling. Top each of the muffins with a heaping tablespoon of the cinnamon crumble. Gently press the crumble into the muffins.
Bake the muffins for 10 minutes at 400 F (204 C). Reduce the oven temperature to 350 for the remaining time, about an additional 5-10 minutes. Check the muffins after 5 minutes using a toothpick inserted into the center. If more baking time is needed, check back every 2 minutes until the toothpick comes out with just a few moist crumbs.
Cool the muffins in the hot muffin pan for 10 minutes. Remove the muffins to cool completely on a cooling rack. Enjoy!