For the cake, place a rack in the center of the oven. Preheat the oven to 325°F. Grease two 9″ -inch round cake pans with butter, then dust with flour, and shake out excess flour. Set the pans aside.
Place the butter and sugar in a large mixing bowl, and with an electric mixer on medium speed, cream until light, 1 minute. Add the egg yolks, one at a time, and beat each until just combined before adding the next one. Add the vanilla.
Sift together the flour and baking soda in a medium-size bowl and add this in thirds to the egg mixture, alternately with the buttermilk. Blend on medium-low until smooth.
Place the egg whites in a large bowl, and beat with an electric mixer and clean beaters on high speed until stiff peaks form, 4 minutes. Fold the whites into the batter with a rubber spatula until the whites are just combined. Divide the batter between the pans and place the pans in the oven.
Bake the cake layers until they are golden brown and just pull away from the pan, 25 to 30 minutes. Let the cakes cool in the pans set on a wire racks for 10 minutes. Then run a knife around the edges, give them a good gentle shake to loosen from the pans, and invert them once and, then again, to cool right-side up on wire racks.
While the cake is baking, make the frosting. Place a large mixing bowl and mixer beaters in the refrigerator to chill 10 minutes. Remove the bowl and beaters from the refrigerator. Pour in the heavy cream, and beat on high power until stiff peaks nearly form, 4 to 5 minutes. Beat in the powdered sugar until stiff. Fold in the sour cream. Place in the fridge to keep chilled.
When the layers are cool, place one layer on a cake plate, and spread with 1 cup of the frosting. Place the second cake layer on top. Spread the top and sides with the remaining frosting. Pack coconut on the top and sides of the cake. Chill until time to serve.