Preheat your oven to 350°. Line a muffin pan or two with 12 cupcake liners.
In a large mixing bowl, or the bowl of your stand up mixer, combine the softened butter and sugar. Beat on high speed for 6-8 minutes or until the mixture is light and fluffy. This is an important step - don't skip it. If your mixture is not light and fluffy, keep mixing until it is.
While the butter and sugar are mixing, combine flours, baking powder, baking soda, buttermilk powder, and salt in a small mixing bowl.
Once the butter and sugar are light and fluffy, stop your mixer and add the vanilla extract, and both eggs. Mix to combine.
Stop the mixer and add ½ of the flour mixture to the butter and sugar mixture. Stir until just barely combined. Stop the mixture and add the sour cream. Combine. Stop the mixer and add the second ½ of the flour mixture. Stir until just combined. Stop the mixer, add the milk, and mix until just combined. Remove from the mixer and gently fold by hand until combined.
Fill each muffin liner ⅔ of the way with batter (I like to use a large cookie scoop for this part).
Bake cupcakes for 15-17 minutes or until just barely golden brown around the edges.
Remove the cupcakes from the oven and allow to cool completely before topping with your favorite buttercream frosting.