You could do things to help get payment faster like adding discounts for paying quickly. Although in your case that might not be worthwhile. Something like 2/10 net 30. That means you expect payment in 30 days, but the 2/10 says that if they pay within 10 days they get a 2% discount. Again, with smaller projects thats not really going to be worth while, but basically the first number is the discount, and the second is the term in days that the discount will be offered.
Written contracts are definitely the way to go. Even though oral contracts are legally binding, they are not usually very easy to back up. If you do continue to do oral contracts, recording the terms and everything would be recommended.
On a side note, you have to be careful with contracts. One real example that my professor showed us was a case where a man made a drunken promise on a napkin to sell his house. It was ruled a legally binding contract because he was coherent enough to write and sign it.