Spank 'em in the head a couple of times, that usually does the job. :P However, I don't think it's supposed to be done that way these days. Despite the fact that I think it's the only way to stop the detereoration of these kids' attitude.
Anyway, I think "special classes" can only work when there are like 5-10 kids in it. Any more and they'll just start screwing around. (In general I think it's better to have small classes but that's not always possible. Luckily normal kids usually tend to be able to control their behavior when the teacher is not watching them. Naughty kids however seem to like taking advantage of those situations though.)
The best way, without spanking, is severe punishment right the moment they do something bad. And reward kids who stay quiet during the class. That way they'll know that they can't screw around with you, because then they will be punished. But they also know that you're not an evil teacher, because you award kids who behave correctly. The last point is actually more beneficial to yourself because I can imagine it's not nice to be known as Mr. Grumpy in school.
And honestly, I'm against too much of the psychological mumbo-jumbo that's been gaining influence over the last couple of years. There is no way you can just "talk it out" with annoying kids. When I was in secondary school (12-18) I noticed how some teachers tried to use this "soft, psychological way" and they got screwed over all the time. After a while kids even started to wear hats, make phonecalls and listen to their ipod during class. Other teacher used the more effective way of actually kicking people out of the classroom, and guess what? Kids paid attention and didn't do any of the aforementioned stuff.
Well, and if they're ADD-kids: Make sure they take their medicins. 哈哈