I've tried this many times with many recipes, but yet it is always too runny. I've tried whisking more and whisking less, but it doesn't seem to help. Is there a foolproof method?
Swiss meringue buttercream is a frosting made from a base of whisked egg whites and sugar which then has butter beaten in. When making the meringue base check that your bowl and whisk are completely grease free as any traces of fat will prevent the egg whites from whisking into a firm meringue. Also as this type of buttercream needs a lot of whisking you really need a high powered electric mixer (ideally a free-standing type). If you live in a hot or humid climate then this will also affect the buttercream, making it very soft, and it may be worth considering a basic butter and icing (confectioners') sugar recipe instead. Too much additional liquid can also make the buttercream runny so use gel colours or concentrated flavourings and whisk them in at the very end.
The egg whites and sugar are initially whisked over a saucepan of simmering water. When doing this make sure that the bottom of the bowl doesn't come into contact with the water as this can over heat the whites and cook them. Keep whisking the whites in the bowl constantly and continue until the whites feel warm to the touch (around 60c/140F on a sugar thermometer) and completely smooth (indicating that the sugar has fully dissolved). Remove the bowl from the saucepan and whisk the whites, starting on low power and increasing the speed gradually, until the bowl is completely cool and the whites are firm and glossy. This can take up to 10 minutes even with a powerful mixer. The butter should be at room temperature to help it incorporate easily and add a little (about 30g/2 tablespoons) at a time. The buttercream will often curdle as you add more butter but keep whisking on a medium-high speed and it should come back together after a few minutes. If it is still very soft then you can try refrigerating the buttercream to help firm it up a little and this type of buttercream should always be stored in the fridge.