I think this is the best way. Unfortunately I rarely have much cash on me these days and forget to get any out. So I usually have to choose one of the amount options on the pay machine thingy.
10% for good/ standard service. 15% for exceptional or if they’ve sorted a problem out with particular grace.
I’ll also buy the staff a drink if they have been good fun or have big knockers.