Preheat the oven to 350°F (175°C). Generously grease the bottom and sides of three 9-inch round cake pans, line each with a parchment paper round, and set the pans aside.
In a large bowl, whisk together 3 and 3/4 cups (450 g) cake flour, 1 tablespoon (14 g) baking powder, 3/4 teaspoon baking soda, and 1 teaspoon salt. Set the dry mixture aside.
In the bowl of a stand mixer fitted with the paddle attachment, or in a large bowl with a handheld mixer, beat 1 and 1/2 cups (340 g) unsalted butter on medium speed until smooth and creamy, about 1 minute.
Gradually add 2 and 1/4 cups (447 g) granulated sugar to the butter. After all the sugar has been added, increase the mixer speed to medium-high and beat for 2 minutes, until the mixture is lighter in color and fluffy.
Beat in 2 tablespoons (28 ml) vanilla extract and 1/4 teaspoon almond extract until combined. Scrape down the sides and bottom of the bowl.
Reduce the mixer speed to medium-low and add 4 large eggs, one at a time, beating well and scraping down the bowl after each addition.
In a clean bowl, beat the 3 large egg whites until frothy. Add the frothy egg whites to the batter in three additions, beating briefly and scraping the bowl as needed after each addition.
In a spouted measuring cup or a small bowl, whisk together 1 and 1/4 cups (284 ml) buttermilk, 1 cup (227 g) sour cream, and 1/3 cup (67 ml) canola oil until smooth.
With the mixer on low speed, add the flour mixture to the batter in three additions, alternating with the sour cream mixture in two additions, beginning and ending with the flour (flour, wet, flour, wet, flour). Mix each addition just until combined—do not overmix.
Divide the batter evenly among the three prepared pans (about 710 g per pan) and smooth the tops with a spatula.
Bake the layers for 24 to 25 minutes, or until the edges are lightly browned and a toothpick inserted into the center comes out clean.
Remove the pans from the oven and place them on a wire rack. Cool the cakes in the pans for 15 minutes. Then invert the layers onto cooling racks, remove the parchment rounds, and cool completely.
While the cakes cool, make the buttercream. In the bowl of a stand mixer fitted with the paddle attachment, or in a large bowl with a handheld mixer, beat 2 cups (454 g) unsalted butter on medium-high speed until completely smooth, about 2 minutes.
Reduce the mixer speed to low and gradually add 6 and 1/2 cups (741 g) sifted confectioners' sugar. Add 1/4 cup (57 ml) whole milk, 2 tablespoons (28 ml) heavy cream, 2 teaspoons vanilla extract, and 1/4 teaspoon salt, and mix on low until the ingredients are incorporated.
Increase the mixer speed to high and beat the frosting for 1 to 2 minutes, until very light and fluffy. If the frosting is too thin, add more sifted confectioners' sugar as needed. If it is too thick, add a small amount of milk as needed until you reach the desired consistency.
Assemble the cake: place one cooled cake layer on a cake plate or stand. Spread an even layer of buttercream over the top. Place the second layer on top and spread another even layer of buttercream. Top with the third layer.
Use the remaining buttercream to frost the top and sides of the assembled cake evenly. Smooth or texture the frosting as desired.
Allow the frosted cake to set for about 20 minutes before slicing. Slice and serve.