Mix together the sugar and the egg whites in a double boiler or a heat safe bowl. Heat the mixture gently over hot water, stirring often and checking to see if the sugar has dissolved. Make sure not to cook the egg whites.
When the sugar has dissolved (After 5 minutes or so), pour the mixture into a large bowl. If you have a stand mixer, pour the mixture into the bowl of your mixer.
Beat the mixture with an electric beater until the mixture cools and stiff peaks form. This will take awhile (10-15 minutes). (Using a stand mixer makes the process much easier.)
Add the vanilla followed by chunks of the butter. Add the butter little by little.
Keep beating, even if the mixture looks like it starts to come apart. It may even look curdled, but keep adding in butter and beating until it all comes back together again.
Once smooth, your buttercream frosting is ready to use.
Video
Notes
This recipe makes enough to generously frost 2 dozen cupcakes (probably with some leftover) or a 9-10 inch layered cake. (I've also used it to frost 2 6-inch, 2-layered cakes and had enough.)Cakes made with Swiss buttercream should be served at room temperature. When cold the frosting hardens and doesn't have the same creamy texture and flavor.
Customizing the recipe
I used a homemade vanilla extract for flavor. For different flavors, use different extracts.Cocoa powder or melted chocolate can also be added to make a chocolate buttercream frosting. (Melted chocolate will tend to thicken the frosting.)
Using the frosting
This frosting can be spread with a knife or spatula or piped with a piping bag and tip. It's perfect for use on cakes and cupcakes.
Storage
I like to use the frosting immediately, but if you want to make it ahead of time, cover it and keep it in the fridge. Leave yourself enough time to let it come to room temperature before using it. You will also need to beat the mixture again to get it back to a nice, whipped consistency for frosting your cake.
This Swiss buttercream can also be frozen for up to a couple of months. Again, leave time for defrosting and beating.