I find the best way of dealing with fare evaders is to treat them like an old friend, at least until I get what I want out of them (their name and address usually). They’re usually too stupid to realise that’s what’s going on and cooperate. I’ve seen time and time again people go in too hard and straight away have these peoples’ backs up.
Staff do have the power to detain for fare evasion, but it’s not something companies would ever endorse, and they’d certainly never train their staff to do it.
It works well enough most of the time. I tend to save going in for hard antisocial behaviour. We have a well known local druggie and ne'er do well in his 40s on our patch. He has a dodgy bank card that doesn't work and plays for time till getting off time. I just walk up and say 'afternoon Stephen, how's it going?' and the bank card goes straight away and a bank note appears from his sock *shrug*