At my school, the usual punishment for this is...
Nothing. Absolutely nothing. The teacher will actually demand that students be completely quiet and occasionally even stop lessons and give written work to allow the person to sleep. What usually happens is the person will wake up about half an hour past the bell and sprint to class - it's hilarious to watch someone wake up and realize that they've missed a third of a class period (our classes are, ugh, 90 minutes long.) I've seen several people be left behind by buses for this.
Once, though, in freshman year, I met the Heavy Sleeper. This guy was a senior in my Photography class, which I had last class block, and the teacher said (very quietly) that he had been there since first block. He was still there when we left.
This practice is not, of course, officially sanctioned, but it's more or less ignored by the administrators of the school and is practiced by about 1/4 of the total teachers - those with a sense of humor.
I love my teachers.