That's called head in pillow, a common problem. Generally, it is caused by not getting the board and component leads hot enough for long enough for the flux to break down the oxide layer on the part. With switches like that, they are probably real sensitive to heat, so you can't raise the temperature too much or the plastic might melt. Really, the only things you can do are up the temperature or the soak time while the solder is at full liquidus, or to get a more active flux.
Jon