Semi-related: Does anyone know why credit card transactions can be authorized in seconds but ACHs (or whatever underlies online bill payment) take days to go through?
ACH uses the check clearing system (since that's exactly what they are: checks). This system was originally designed in a time when checks needed to physically move from bank to bank, and while there have been attempts to speed it up, debit cards have removed much of the pressure for making this timely.
Check21 should have alleviated this but I think ACH and Check21 are separate rules systems. A bank I use (USAA) lets me scan checks and upload the image to deposit the check. Funds are available instantly (I do not know if they are lending me the funds interest free during the window, or if it is actually cleared instantly).
this is very much dependent on which country you live in. I moved from South Africa to the UK and was very surprised by how long online transfers take to clear. Back home they can clear instantly most of the time, even across different banks. The max time for any online transfer I ever experienced was 24 hours. Here in the UK it seems the minimum is 48 hours, really not sure why.
It probably depends on who is accepting the fraud risk, and how much risk they are willing to accept.