Place the egg whites and sugar in a large metal mixer bowl set over simmering water. Whisk constantly until the sugar melts and the mixture is very thin and warm. Remove the bowl from the heat and whisk on high speed until stiff peaks form, about 5 minutes. Continue beating on low speed until cool.
Beat in small pieces of cool but soft butter on medium speed. The mixture may curdle before coming together. Add the vanilla extract or other flavoring if using. (Re-beat occasionally while frosting a cake to maintain smooth texture.)
Make sure the bottom of the mixer bowl does not touch simmering water. Your egg whites may become a sweet scrambled breakfast dish! Finished buttercream may be kept covered and refrigerated for a week. Professional chefs prefer to use pasteurized egg whites - no need to separate fresh eggs, no wasted yolks and safer all-around. Buttercream also freezes well for up to 6 months. Chilled buttercream must be brought to room temperature before beating, otherwise it will curdle. If such a disaster strikes, do not panic! Keep beating over simmering water and eventually the mixture will come together again.