"Within same bank" transfers in the U.S. usually happen by end-of-same-business-day, sometimes within minutes.
I always figured that the 3-business-day wait was because of the interbank settlement process. Banks settle up at midnight between each business day: at that point, there's a shuffle where they figure out how much capital they need to meet reserve ratio requirements after the day's deposits & withdrawals, borrow from other banks at the Fed funds rate, or in the worst case, borrow from the Fed's discount window. If you figure a business day to transfer the money internally, then a business day to settle up with counterparties, then a business day for the money to appear in the receiving account, there's your 3 days.
(I suspect they also pad the times a bit...when I've transferred money, it's usually taken a day and a half to two days for it to appear, which is consistent with the intraday settlement process. They want a little bit of a cushion in case some employee isn't on the ball or things otherwise get hung up.)