Preheat oven to 375 degrees F. Line cupcake pan with paper liners, set aside.
To make the crumb topping, combine the flour, sugars, salt and butter with your fingers or a pastry blender until the mixture comes together to form coarse crumbs. Stir in the sprinkles and set aside.
To make the cake batter, in a large bowl, combine the flour, baking powder, and salt. In the bowl of a stand mixer, beat together the butter and sugars until light and fluffy, about 3 minutes. Add the eggs and yolk, one at a time, mixing well after each addition. Stir in the vanilla extract, imitation vanilla (if using) and almond extract. In a glass measuring cup, stir together the buttermilk and sour cream. Add the dry ingredients alternately with the wet ingredients, starting and ending with dry. Make sure to only mix until just combined. Fold in the sprinkles.
Using an ice cream scoop, fill the prepared cupcake pan. It makes about 18 cupcakes, so you'll need to fill half of another pan. Sprinkle the top with the streusel and bake until golden brown and a toothpick inserted in the middle comes out clean, about 18 to 20 minutes. Remove from the oven and let cool before eating. Leftovers can be wrapped in plastic and stored at room temperature for up to 2 days. Enjoy!