Time-out isn't effective with all kids. And if you use it as a punishment, lots of kids don't care. They know they will get back to the activity sooner or later, anyway.
Time out only worked for my daughter when she needed an opportunity to de-compress. I used it more as a coaching "sit here and get a hold of yourself" type of tool.
at 3, re-direction is still the preferred method, I think. You say (a gazillion times) with NO emotion from you.........
"joe, we say 'uh-oh' instead of 'poo-poo' " (if that's a battle you want to fight). Know that you will say this for the next 30 years, though.
"Joe, we use words, we don't hit"
"joe, we are leaving now, because you are not playing nice with the other kids. We don't play rough. Let's go"
Also, each time BEFORE he plays, have a talk about expectations:
"Joe - what kind of behavior are you going to have today at the park?"
"Good"
"Good behavior, that's right. And tell me some good behaviors?"
"xyz/123/whatever......"
"yes, mommy wants to see you playing nice, using your words, taking turns xxxxx"
Then after - reinforce:
"joe - what kind of behavior did you have today?"
point out some behaviors he had that were good - "I liked how you and Tommy played nicely together with the truck" or whatever.
Good Luck.