Any of them, if done right. If you take into account other factors, my preference is for a surface applied membrane, Kerdi is one that I've used. My personal feeling is that it is best to put true waterproofing as close to the tiled surface as you can. In this manner, there's very little that can either get wet, or if it does, it dries out faster. Both the hot mp and traditional mortar bed with liner have a thick layer that can get damp. Now, if they're done right, it shouldn't accumulate, but, putting that waterproofing embedded in there with lots of additional layers and work on top of it makes it potentially prone to damage during the subsequent steps. With something like Kerdi, you can actually finish the walls most of the way to the floor before you even install the shower pan.