In a large mixing bowl, combine butter and sugar. Beat on high until creamy.
Add eggs one at a time, beating well after each addition.
Beat butter mixture on medium for 5-7 minutes.
Add sour cream. MIx well.
Combine flour, baking powder, and salt. Add to butter mixture alternating with milk beginning and ending with flour. Mix until just combined after each addition.
Stir in vanilla extract.
Pour batter evenly into prepared pans.
Bake for 30-40 minutes or until inserted toothpick comes out clean. Do not overbake.
Let layers cool in pan for 10 minutes then transfer to wire rack to cool completely.
Combine all ingredients in a large dutch oven or saucepan over medium heat. Mix well.
Cook for 10-12 minutes or until mixture reaches 235 degrees.
Cool slightly and beat with hand mixer until frosting reaches spreading consistency.
Quickly spread between layers and on top and sides.
Serve at room temperature.
If frosting is too thick, add a little more milk. If it is too thin, continue beating.
Bring refrigerated sour cream and/or milk to room temperature by measuring amount needed and placing it in a microwave safe bowl. Microwave for 15-20 seconds or until lukewarm. Do not try this with eggs.