We've used the stick method.
Also 90 degree turns (get dog in sit position, tell them to wait, pivot 90 degrees, tell them to "get in" again). Practice both directions. Also, sometimes take a step forward as well (it's usually easier to start this way, then shorten the step).
Another technique that I don't think has been mentioned: hold the leash in your right hand, but put it behind your legs rather than in front. When you turn, apply gentle pressure.
We haven't used this one much lately but it's a lot of fun: Leave the dog in a wait. Start walking briskly in a circle to the left (I like to start with a large circle). When you're about a quarter of the way around, tell the dog to "get in" or heel so that it has to catch up and bend into position.
We also tend to start with exaggerated shoulder position, but, as Batmom said, w/o looking back at the dog.