With bank to bank transactions being possible within 15 minutes (as per the way the loans firms advertise on TV) and in my own experience, within a couple of hours from Halifax into HSBC (my a/c is with HSBC), I can see there could be a delay, but the cost is only significantly higher when one required the funds to be proven as 'cleared' (as in a transfer for a house purchase). So yes regarding instant but same day is no more expensive to the customer than 'wait for the banks to confirm it' - it's just very inconvenient and the banks did promise they would get it to be same day but have not kept their word (hardly a big surprise there, then!)
Most transfers are based on clearance after a few days, and before then the user of the account is at risk if the 'sending' bank later says 'Hang on, this was in error', when the 'receiving' bank will deduct the amount again.
In the case of a big firm like Amazon, I can understand some parts being awkward (they are passing on the orders in many cases, unless it is fulfilled by Amazon directly) so cancelling something could be a teeny bit more difficult if the order has already gone out to some supplier and they will also expect payment.
If the order is cancelled, then Amazon itself may be able to refund the cost, but it's the banks which could be the delaying factor because whichever bank(s) Amazon uses might be unhappy at immediately refunding.
I feel sure it could be made faster, with the "use this money at your own risk, as it is not guaranteed to be 'cleared funds' from Amazon" clause for the person who placed the order then cancelled (was going to call them the customer, but they are non-customers at that stage!)