Hi,
Two of my four kids were extra-persistent in their misbehavior (like what you're describing) during the years from 2-4. It just took a little extra time to solve. I always let my kids be kids, but there are limits. This is how I got them to mind the limits.
What I found worked was "zero tolerance' combined with teaching them what their options were. I started by telling them what the change in routine would be and made sure we'd discussed the *right* way to handle the situations they were misbehaving in. For instance, Words vs hitting. I gave them phrases and sentences they could use with me like, "Mommy, I'm mad (sad, lonely, bored, jealous)." In order to find understand those words, I helped them identify feelings: I'd ask where they felt differently than before- stomach, head, shaky hands, sweaty face, feeling hot or or goosebumpy... then I'd explain what those feelings were called. I also asked those questions when they were calm, happy, excited or sleepy, too-- that way they had a way to compare feelings. SIMULTANEOUSLY, I offered good ways to show those feelings. After that, we began.
No matter how inconvenient, public or time-consuming, I would immediately stop what I was doing, gently lead (or carry) my child to the corner while I explained that they had chosen to do "X" instead of the nicer "Y" and that they needed to stand in the corner for x amount of time (one minute per year of age). This is probably what you're doing, but I found that I couldn't let ANY violation slide. Not one. When we were out, if they started acting up, I'd just quietly mention where which 'corners' of the store, theater, park looked useful and how there was a nice place for Mommy to sit and wait nearby. Soon, I didn't even have to mention it.
After every time out, I'd ask them what choice they made that landed them in the corner. Then I'd ask what they could have done instead. If they didn't know, I'd help them figure it out. I was gentle, loving but firm. We always ended with a big cuddle and an apology to the person who'd been offended (in the beginning getting an apology can be a battle of its own, but don't let it slide). It was also a good way to teach forgiveness to my other kids.
Seriously, it was simple...but it was hard, too. The first day I spent more time hauling a screaming bundle of tantrum to the corner than I did anything else. Day Two started rough but ended easier--I think they figured I'd forget after a good night's sleep. But Day Three was always pretty easy. By then they were riding it out hoping it would pass. One child took it to Day Four or Five but she, too, finally figured it out. By Week Two, they were forming permanent habits.
But about every four months, they'd give it a go again--just don't let it gain momentum and you'll be fine. And so will they!
Hope this helps! :-)