As a payment system I think cryptocurrency is vastly better; the more I use my hardware wallet, the more I'm horrified by legacy systems that work by giving vendors the ability to withdraw as much as they want. It's a fundamentally insecure system, made sort of workable by layers of hacky mitigations.
In theory, fiat payment could use a hardware wallet that gives vendors the ability to withdraw only as much as specified in a signed transaction. I doubt that'll happen unless crypto is successful enough to drag fiat providers kicking and screaming; in the meantime we could use fiat-backed tokens on a blockchain if governments didn't make that near-impossible with AML/KYC laws.
Reversibility could also be implemented in a token smart contract, if the market really does value that enough to put a central admin in control. So far that doesn't appear to be the case, but maybe just because that market segment hasn't been reached yet.