I'm a big fan of harnesses and also (at least whilst teaching them to heel) using two points of contact. Bella has a Mekuti harness (
http://www.mekuti.co.uk/) and Zorro has one of the new TTouch harnesses which you can get from Tilley Farm - really nice as they have a neck clip so it's great if your dog is worried by having things put over its head.
A dog that is pulling on a collar in any way is putting quite alot of strain on its neck and is also more likely to be reactive to oncoming dogs/pushchairs etc because of the added stress of having something pushing on its windpipe (plus the fact that the dog is out of balance). If you try pushing the side of your hand into your windpipe even gently, it's not particularly pleasant - now imagine what that feels like if you push harder or suddenly get yanked (even if it's inadvertently).
The idea of using two points of contact to help a dog walk in balance (i.e. without pulling) is as follows:
1. A dog that is pulling on the lead is basically using you to balance against - if you were to let go of the lead the dog would have to find its feet. In TTouch terms we always say "balanced in body = balanced in mind", so if your dog is using you to balanced against then it's not balanced by itself and is therefore more likely to be react to other dogs etc. Also a dog that is pulling will build up different muscles on one side of its body to the other which in turn puts the whole body out of balance.
2. Any time we pull on the lead we trigger the opposition reflex - try getting someone to hold onto the end of a lead and then pull it, I guarantee they will pull back with the same force, without even thinking. So every time you pull back, your dog pulls forward.
3. We have two points of contact so that the dog cannot rely on you for balance, because as soon as it leans into one of the contacts you release it and use the other contact to give a gentle upward signal. This way the dog learns that it's impossible to keep leaning out against the lead because you won't hold onto the other end.
Sounds easier than it is in practise but it does work. The key is to stay up by the dog's shoulder giving gentle upward signals, alternating which contact you are giving the signal on. If the dog starts to get ahead (which a pully dog will, guaranteed) then you need to firmly stroke the lead, hand over hand, as you walk back up to the dog's shoulder - by stroking the lead rather than pulling on it, you avoid triggering the opposition reflex and you encourage the dog to slow down rather than encouraging it to pull harder.
It does take some practise though - I've worked with a couple of seriously strong pullers and it was a challenge but it worked in the end