R.S.
My sister was having a similar problem with my neice. Her issue was spitting (2 year-olds :) They tried all of the things you've tried and some other very creative ones. Finally, they tried positive reinforcement. Instead of reponding to my neice's bad behavior, they rewarded her on good behavior. They would set the microwave timer for 20 minutes (long enough that Ingrid would forget that she was being timed) and if after 20 minutes she had "kept her spit in her mouth" she got 1 m&m. They hated rewarding with food since we are the fattest nation in the world, but you do what works. It has. Slowly, Ingrid just didn't spit anymore. Maybe they broke her of it or maybe she just grew out of it - who knows. The fact is that just about everything children do is temporary - we just have to do what we have to do to stay sane until they move on to the next thing. Good Luck!