Put sugar, salt and egg whites in the heatproof bowl, and set over a pan of simmering water. Whisk constantly until sugar is dissolved, and mixture registers 140F on an instant-read thermometer. If the sugar is not completely melted, your final product will be grainy.
Transfer bowl to an electric mixer fitted with the whisk attachment. Beat on medium-high speed until fluffy and bowl is cool to the touch, about 10 minutes. Continue beating until stiff, glossy peaks form. Meringue will be white with a bright sheen AND very sticky.
Reduce speed to medium-low; add butter a few cubes at a time, beating well after each addition. If the meringue is not cool enough it will completely melt the butter.
Continue beating till all the butter is incorporated. At one point the mixture will look "broken" looking watery and separated like curdled milk. Continue mixing it will all come together I promise.
Beat in vanilla or other flavorings or color paste. Buttercream can be refrigerated in an airtight container up to 3 days or frozen up to 1 month. Bring to room temperature before using; beat on lowest speed until smooth, about 3 minutes.