If he already knows sit, ask him to sit when he greets people.
Have him on a leash when someone comes into his general area (20 feet or so, or into the room you're in, etc) and ask them to wait out of reach while you ask him to sit. Give treats every couple of seconds for sitting and have the person slowly advance. Ask them not to smile or talking in a baby voice, to keep him from getting too excited. If he gets out of the sit, their job is to IMMEDIATELY turn around and walk away until he is calm and sitting again. After that they can advance a bit more slowly. Remember to keep giving treats (REALLY good treats) and keep him right beside you. When he is sitting until the person gets within two feet or so of him, your volunteer can reach out to pet him and give him a treat for sitting - but remember, if he gets out of the sit, they have to turn around and walk away instantly and wait until he is sitting to return. If you have lots of trouble with him jumping up when the person reaches out to pet him, you can physically restrain him by the collar, but remember to keep giving out treats. Once sitting for new people is easy, you can step it up a bit and ask them to smile, talk in a baby voice, rush up to him, encourage him to jump up, etc, to proof the behavior.
Usually the problem is getting the other people to play along - not the dog. They get it pretty quickly: Jumping up = person he wants to greet walks away. Sitting = cookies AND being petted by a new person.
Edited to add: I miss your post because mine took so long to write, but I think I mostly answered your question as to a specific method that should work for you (there are plenty of other ways to teach it, so if this doesn't work for you, don't worry!). As to always giving treats? You'll start to phase them out once he's good at it. instead of giving a treat every few seconds, make it every ten, every twenty, every 30, until you're just giving treats for not jumping up at the end of the session. Then when he's really got it down it just becomes a habit and you can reward every couple of sessions until you stop rewarding the behavior completely.