Our kids push boundaries, alot! My husband and I have tried everything for punishment and have settled on this:
bad behavior = corner...immediately
Simple rules and simple fast consequences help us be consistent.
It starts with 1 min and increases by another minute if: they refuse, they don't stand still, they look around, they talk, they anything. If another child talks to them or ridicules them for getting time, they get the same as soon as the first person is done.
It is quick. It only takes once or twice spending 10mins when it could have been 1min before they comply. And, sometimes I give myself time-outs too. I'm not perfect and it models that the rules apply to everyone.
The hard part is determining what bad behavior will be punished. For us, it is anything they know they aren't supposed to do. This relates to the other posts about the escalating scale. As soon as they know, there are no more warnings. For example, when they are told not to touch something, and they do - corner. Hit someone in anger - corner.
Equally important is what happens afterwards. "Why did you get a time-out?" Kids are smart. If they can't answer, more time in the corner to think about it can help. This usually isn't necessary and we try to give prompts by asking leading questions about what was happening, how the situation evolved. Once the transgression is understood, the person has to come up with a way to make it better: try to mend the relationship by apologizing and fixing anything that was maliciously broken, making more cookies because they ate their brother's, that sort of thing. We really try to use logical consequences and avoid punishment.