We just learned come yesterday in puppy school. Tetley was already pretty good with it since I always used it in a positive manner, but it helped to have the 'right' way of teaching it explained:
First the dog must be able to respond to their name. From a few feet away, call the dog's name, and when he looks at you, bend over slightly and bounce backwards. This looks like a play invite to a dog and they will run to you. As they are running towards you, say 'come' (or whatever word you need to use - as Firstyorkie said). Have them sit and give the treat. It is very important to make them stop and sit otherwise they might just keep running right on past you.

The key here is to associate 'come' with the action of running towards you. Timing is everything.
Another thing I do as a game to reinforce coming as a good thing is that my husband and I sit in different rooms with handfuls of treats, and take turns calling Tetley back and forth. He loves this game, but he tries to get ahead of us and automatically run back to the other person once he's got a treat!

He doesn't get one unless he's called.