Are you able to keep some kind of open drink in your hand? If saying something to him about it doesn't stop him, any time you're near him, have that drink in your hand. When he goes for one of his touchy feely bouts, accidentally on purpose spill the drink on him when you go to flinch. Start out with water, or 7up, Sprite, ginger ale, something that isn't hot or will stain. If you can spill something sticky (like some kind of pop) on his head/hair, all the better. If he gets wet a few times from HIS action, he may start to think again about doing it! If not, go to things that might stain: cola, grape, cherry, orange, root beer (on second thought, don't waste the root beer!) orange juice, grape juice, milk, chocolate milk, tomato juice/sauce, etc.. If it continues after he gets that spilled on him, step it up to tea, coffee or hot chocolate. Start with spilling any of those on his clothes. If he STILL doesn't get it, use at least any of those in their WARM, NOT HOT, state over his head, especially the hot chocolate! You DON'T want to burn him!! Maybe use a piece of cake or pie to "hit" him with.
Otherwise, do you have someone in HR (human resources) to go to about it? It's their job to deal with this sort of thing. They SHOULD be able to put it more delicately, but to the pint than you might be able to.
And, turnabout is fair play!