In a medium-sized mixing bowl or bowl of a stand mixer, mix together sugar, cake flour, baking powder, baking soda, and salt.
Add butter and mix on medium-low speed for three minutes. Because there is so little butter, you'll end up with a very fine crumb texture.
In a small mixing bowl, whisk together eggs, sour cream, oil, and vanilla extract until smooth.
Add the egg mixture to the flour mixture and beat on medium speed until just combined.
Slowly add milk and mix on low speed until just combined. The batter will be liquid. (Don't worry, you didn't do anything wrong. It's supposed to be that way.)
Stir in sprinkles.
Fill cupcake liners just over 1/2 full.
Bake for 14 minutes and then test to see if they are done. They are done when a toothpick comes out without wet batter stuck to it. The cupcakes should appear white with specks of vanilla bean. They should not turn a golden brown. If they are not done, test again in two minutes. If they are still not done, test again in another two minutes.
When the cupcakes are done, remove them immediately from the tins and leave them on a cooling rack (or just on your counter if you don't own a cooling rack) to cool.
Beat butter on high speed with an electric mixer for about three minutes until light and airy.
Mix in powdered sugar a little bit at a time.
Add vanilla and salt and continue to beat for another minute. If desired, add more vanilla to taste or more confectioners' sugar to make the buttercream frosting stiffer.
Pipe onto cooled cupcakes.
Decorate with rainbow sprinkles.
Bake these cupcakes immediately after adding the sprinkles. Do not let the batter sit around or the sprinkles will dissolve.Double the frosting recipe if you like to make large swirls.To make mini cupcakes, start checking for doneness at 10 minutes. This recipe yields 48 mini cupcakes.