Set oven to 350F. Butter and flour 4 6" cake pans (I recommend using cake stripes as well.
Whisk all the dry ingredients together in a medium bowl. In a separate bowl, mix the buttermilk, vanilla and sour cream.
Cream the butter in a stand mixer and add sugars. Mix until light and fluffy.
Add the eggs and white in one at a time mixing until incorporated.
Add the flour mixture and the buttermilk mixture in alternating batches. Starting and ending with the flour mixture. Mix until just combined, give the bowl a final scrape with a spatula to get any unmixed parts on the sides and bottom.
Pour batter into your pans and bake for about 30 minutes or until a knife comes out clean from the center.
For the Swiss buttercream
Add egg whites, sugar and salt in a bowl.
Give the mixture a brief whisk.
Place the bowl over a pan of simmering water. Make sure the water does not touch the bowl.
Whisk the egg whites occasionally while it warms up. When the mixture has warmed, whisk it constantly. You will heat the mixture until it reaches an internal temperature of 160ºF or until it's not grainy between your fingers.
Transfer the bowl to a stand mixer, mix with a whisk attachment until you get room temperature glossy peaks.
Switch to a paddle attachment and while the mixture is running on low, add tablespoon sized dollops of room temperature butter making sure to let the butter incorporate before you add the next piece. Once all the butter is incorporated, go ahead and add the vanilla extract. You can transfer it to a piping bag or to a ziplock bag to store in the freezer.
For the Assembly
Pipe buttercream onto first layer and repeat until cake is assembled.
Pipe on final coat of buttercream. Smooth with bench scraper and off set spatula.
Place in the fridge to chill.
You can crumb coat your cake first then chill it to make the final coat easier to apply if things are wobbly.