In a clean and grease-free bowl, combine egg whites, sugar, and salt.
Place the bowl over a double boiler on low to medium heat, stirring constantly (but slowly) until the sugar dissolves completely (you can check by rubbing a bit between two fingers). Make sure the bottom of the bowl is not touching the water.
Remove the bowl from the heat and beat the mixture on high speed until stiff peaks form. (If using liquid egg whites, the mixture may not form stiff peaks, but it will still work.)
Let the meringue cool at room temperature.
With the mixer on low speed, add the butter, a small piece, at a time until fully incorporated. Make sure the butter is at room temperature.
Increase the mixer speed to high and whip until the buttercream is smooth and fluffy. (If it curdles, keep whipping, it will come together.)
Add the vanilla extract and mix well.
Melt the semisweet chocolate in the microwave at 30 seconds intervals (stirring between each interval) until it is fully melted. Let it cool, and add it to the buttercream. Mix until fully incorporated.
When everything is incorporated, if you are using a stand mixer, consider setting it on the lowest setting and let it mix the buttercream for a good 10 minutes. This will help achieve the smoothest buttercream texture and remove air pockets.