Preheat oven to 350°F. Grease cake pans and line with parchment paper.
Sift together cake flour, baking powder, and salt.
In a large bowl, cream butter and sugar until light and fluffy.
Separately, whip egg whites until stiff peaks form.
Mix buttermilk, vanilla, and vinegar in a separate bowl.
Alternately add flour mixture and buttermilk mixture to butter mixture.
Gently fold in whipped egg whites.
Divide batter evenly among prepared pans.
Bake 25-30 minutes, until a toothpick comes out clean.
Cool in pans for 10 minutes, then transfer to wire racks.
For frosting, beat cream cheese and butter until smooth.
Gradually add powdered sugar, vanilla, and salt.
Frost and stack cake layers.