Even with cash the banks charge handling fees to businesses to securely deliver or take it away. You still have to pay the ticket office staff to serve customers and those in a call centre taking telephone bookings.
I'm extremely satisfied with the £1 online booking fee as previously I had to pay £2 whilst others paid nothing at all and now everyone buying match tickets is paying towards the transaction costs.