Sounds to me like you need a penalty box.
We have punishments in an old cigar box. The kids helped me come up with them and they were nastier about punishments than I would have been. With these punishments, I put in some mercy cards. There are 3 of them, I think. One says that if they are truly sorry for their bad behavior, they can be forgiven. They are always truly sorry when they pull that one, and are old enough to realize that they escaped a potentially bad situation, so they change their behavior. Another one says that they should go to their room, say 3 prayers and they will be forgiven. The third allows them to pay $.50 for forgiveness. Sometimes it's hard when they pull a mercy card and you really want them punished, but you have to honor the mercy card if that's what they get. It helps to make them do the punishment if you stick up to your side of the bargain.
The penalties range from vacuuming all 3 floors of our house, cleaning up after dinner for a week, no TV for the rest of the day (that one is hard when the penalty is pulled early in the day), no computer for a week, go to bed at 8:00 tonight, etc.
I think that this method works better than time outs or sending them to their room because it introduces the fear of the unknown into punishment. All I usually have to do is tell my DS that he will have to pull a penalty out of the box if he doesn't behave and that fear of the unknown allows him to change his behavior.
This has worked for me for the past 18 months. During that time, my DD has only had to pull one penalty and DS has pulled from the box less than 20 times. (Some of the pulls were multiples since he kept being bad after I warned him. When he pulled a mercy card during a multiple pull, I let him get away with only that one card. He still had to perform the other tasks.)