Use your bank's mobile app
Many banks offer applications for your mobile device that can facilitate bank transfers by easily scanning and quickly depositing checks. My experiences with several institutions show that while some banks are hesitant to give you the full amount immediately when a check deposit is made in person or ATM, checks for hundreds or even thousands of dollars clear completely and instantly when using a bank's mobile app. The only potential fee with this method is that you need to have checks from all your banks so you can transfer money between each bank as needed -- some banks don't offer free checks.
Before opening an account with an institution, check to see if they offer this feature, as it is a very helpful convenience. It is also nice if they do offer free checks -- not just "free checking."
Set up transfer capabilities between all your banks, then transfer "From," not "To!"
If you are not so much in a hurry to get money from one place to another (especially since it can be kind of a hassle to write a check and get it scanned in -- especially when you're a bit OCD), set a few moments ahead of time to link all your institutions together so they can all transfer money to one another. Once you have all the possible transfer capabilities set up, you can transfer money between banks with a simple ACH transfer which is offered for free almost universally.
Watch out for one common pitfall: if you log into the bank from which you want to send money, those funds will be immediately debited from your account, and will take at least 24 hours to show up into the receiving account. This is time when your money is floating around in the ether, not really earning interest for you. In order to make sure you don't miss out on that $0.0000001 cent of interest from having that $100 stuck in transit for between 1-3 days (in most cases), you must log into the bank for which you intend to receive the money, and set up the transfer so that it receives the money from your other bank. This way, the money is not debited from the sending bank account until the waiting time period has elapsed.
This is especially recommended if you happen to know IT project managers or executives at said banks who can vouch for their security. ;) Actually, the worst that can happen is the hacker would be able to send money between your accounts, so if they don't know the trick I just described, your money will be gone for 1-3 days. But in fact, if they've made it that far into the system, then they've probably taken the time to set up their own accounts as legitimate recipients and have stolen all your money anyway. They could be alerted to the presence of the other accounts you have linked, and might attempt to use the same username/password combo on your other bank's website (assuming they've been able to get into the bank's online database to deduce that information).
If you do this, you should never use the same username/password combo across your banking websites (or any website for that matter), and consider opening up accounts at banks that use two-factor authentication on their Web sites. Two-factor authentication is based on the principles of "something you know" and "something you have", so you would be prompted to enter a username/password, and then you may be prompted to enter a specific code sent to a registered telephone or email address each time you log on with a new device or clear your browser's cookies.
I'll save the rants on greedy rent-seeking corporations, fatuously uninspired and easy-to-guess security questions, and sites that think they have two-factor authentication (but really don't) for some future post(s). :-P