There can be very many reasons for this, some of them are:
- Check truncation (physical to digital) takes time to process and is probably batched processed.
- RTGS processes clearing transactions in batches
- Banks like to get a little bit of float on the money they have (overnight)
- Absence of a central bank (financial) switch to do instant interbank funds transfer
- Financial regulator's role in checks and balances, which create added delay
- Banks belonging to opposing clearing houses and they clearing houses probably batch process between themselves at fixed times.