Role playing, even as a bit of an amateur thesp, is awful. That whole "now what could Work have done differently" and then you have to redo it, like a naughty schoolkid who has to do their work again because they did it wrong, except with an audience of your peers, thinking thank fuck it isn't them.
The better ones involve some kind of physical activity, like the Go Ape stuff, you can have a laugh at that. But usually budget constraints mean that more than likely it's ice breakers and roleplay all the way.
At my work they used to have a full on weekend of olympic style stuff in teams and a party, a proper getaway of teams (large corp). I couldn't make it on my first year, then the following year they decided to have local 'sports afternoons' instead. Everyone knew it was budget, management insisted it wasn't. Then the whole event was never mentioned ever again :(
These days, any team days for us now means voluntary gardening somewhere.
I do think team bonding (not building) can be effective, (depending on your co-workers!) it's nice to let your hair down and see people in non work mode. But most places don't want to put the money behind nice activities that people would like to do, so you get icebreakers and a crap biscuit.