Why can the banks have high-frequency trading, yet still not have instant transfers between accounts?
Furthermore, if the transfer is from one bank to another, the sender wants to hold onto the funds for as long as possible to earn more interest.
Lastly, most retail banks probably still run ancient code that is not as conducive to innovation.