Personally, I've always thought that the best form of punishment is simply to revoke privileges for a while. If the kid loves playing video games, take away their gaming equipment for a week, things like that. It always worked on me when I was growing up after all, and look how well I turned out.
That said though, I really don't think that physically striking a child is a good way to discipline them. The times that my parents punished me in such a manner I only cried and rebelled more afterwards. It was not an effective way to correct bad behavior in me. On top of that I have a bad experience with losing my best friend as a child due to child abuse. She was taken from her parents in her early teens after suffering abuse at her parent's hands for years. And, no; it didn't work with fixing the 'issues' they believed she had, either. Like with me, it only made her want to rebel more in order to 'punish' them in turn.