Preheat oven to 350° F. Grease a 9x13 baking pan or line with parchment paper and set aside.
In a medium bowl, whisk together cake flour, baking powder, baking soda and salt. Set aside.
In a large mixing bowl, cream together the butter and sugar until light and fluffy, about 5 minutes. Add the eggs one at a time, beating well after each addition. Beat in the vanilla extract, sour cream and vegetable oil. It's okay if the batter looks a little curdled. Scrape down the bottom and sides of the bowl as necessary.
Gradually add in the flour mixture in three parts, alternating with milk (So it goes flour, milk, flour, milk, flour). Mix until batter is uniform and smooth.
Transfer the batter to prepared pan and spread evenly. Bake at 350 F for 30 to 35 minutes. The cake is done when a toothpick inserted in the center comes out with little to no crumbs. Place pan on a wire rack and allow cake to cool completely before frosting, about 2 hours.
For the frosting, beat butter until light and fluffy, about 3 minutes. Add confectioners' sugar and salt, then mix until medium speed until combined. add vanilla and 1 Tablespoon milk. Mix just until combined. Scrape down bottom and sides of the bowl as necessary. If a thinner frosting consistency is desired, add another tablespoon of milk.
Transfer frosting to cooled cake and spread evenly. Garnish with sprinkles, slice and serve.
Notes
Flour: All purpose flour works too, but I suggest adding 2 teaspoons cornstarch for a soft texture.Store vanilla cake in an airtight container at room temperature for up to 3 days.Freeze vanilla cake for up to 1 month. Wrap the cake in plastic wrap and aluminum foil to prevent freezer burn. High altitude adjustments (Denver, CO): Use an all purpose flour with high protein content such as King Arthur flour. Decrease baking powder to 1/2 teaspoon. Add 2 extra teaspoons of milk. Baking times may vary. These adjustments will work at an altitude around 5,280 ft.