Preheat oven to 350 degrees F . Grease and flour three 8-inch round baking pans.
Mix together the flour, baking powder, baking soda, and salt. Set aside.
Using a handheld or stand mixer fitted with a whisk attachment, beat the butter on high speed until smooth and creamy – about 1 minute. Add the sugar and beat on high speed for 2 minutes until creamed together. Scrape down the sides and up the bottom of the bowl with a rubber spatula as needed.
Add the egg whites. Beat on high speed until combined, about 2 minutes. Then beat in the sour cream, lemon extract, lemon juice, lemon zest, and food coloring. Scrape down the sides and up the bottom of the bowl as needed. With the mixer on low speed, add the dry ingredients until just incorporated. With the mixer still running on low, slowly pour in the milk until combined.
Do not overmix. The batter will be slightly thick.
Pour batter into prepared pans. Bake in the preheated oven for 24 to 26 minutes, or until a toothpick inserted into the center of the cake comes out clean.
Allow to cool in pans on wire racks for 10 minutes. Then invert onto wire racks to cool completely.
Filling
In a medium saucepan, mix together 1 tablespoon lemon zest, 1/2 cup lemon juice, and 1 tablespoon cornstarch until smooth.
Mix in 6 tablespoons butter and 3/4 cup sugar. Bring mixture to boil over medium heat. Boil for one minute, stirring constantly.
In a small bowl, beat egg yolks until smooth. Whisk in a small amount of the hot lemon mixture. Pour the egg mixture into the saucepan, beating the hot lemon mixture rapidly.
Reduce heat to low. Cook for 5 minutes or until thick, stir constantly (do not to boil).
Pour mixture into medium bowl. Press plastic wrap onto surface to keep skin from forming on the top as it cools.
Cool to room temperature then refrigerate 3 hours.
Frosting
In a large bowl, beat confectioners' sugar, 1/2 cup butter, 2 tablespoons lemon juice and 1 teaspoon lemon zest until smooth.
Beat in milk, and increase speed and continue to beat until light and fluffy.
To assemble
Wait until the cake is completely cool before frosting. For a more professional cake, remove the domes from the tops of the cake layers with a cake leveler or large serrated knife. Place one layer of cake on a serving plate. Spread with 1/2 of the lemon filling. Top with another layer, and spread with 1/2 cup lemon filling. Repeat with the next layer of cake and frosting, then top the cake with the final layer of cake (if you have 3 layers). Frost the outside of the cake. An offset spatula makes it really easy to get an even layer.
Press on final cake layer, and frost top and sides of cake with frosting.