Preheat the oven to 350F (180C) degrees. Line the bottom of two 8x2 inch round cake pans (do not use 2 sandwich tins with 1.5 inch sides) and lightly grease the sides. See recipe notes for additional pan sizes.
In a large bowl sift together the flour, baking powder and salt. Then whisk for about 30 seconds.
In a large bowl using a stand or hand-held electric mixer on medium speed, beat together the butter and sugar until fluffy (about 2-3 minutes). Add in the oil, vanilla extract and almond extract and mix until incorporated.
Beat the egg whites into the butter mixture 1 at a time. Turn off the mixer and scrape down the sides and bottom of the bowl a few times during this process to ensure that there aren't lumps of butter.
Stir the sour cream into the butter mixture.
With the mixer on low, beat in about 1/3 of the flour mixture followed by about 1/2 of the milk. Turn off the mixer and scrape down the sides of the bowl using a large rubber spatula or wooden spoon. Turn the mixer back onto low and beat in an additional 1/3 of the flour mixture, followed by the rest of the milk. Then beat in the rest of the flour mixture. Stop mixing as soon as everything is incorporated. I recommend whisking in the last flour addition by hand to avoid overmixing.
Carefully pour the batter into your prepared pans and bake in the middle of the preheated oven for about 28-35 minutes, or until an inserted toothpick comes out clean or with a few cake crumbs and the cakes are pulling away from the sides of the pans.
Cool the cakes in the cake pans for about 10 minutes, then gently invert and continue cooling on a wire rack. You can also wrap the cakes in plastic wrap and pop in the freezer to chill them more quickly.