I'm going to be receiving monthly wire transfers, and I found out that my bank (US Bank) charges $20 for each one. Are there any good banks that don't charge for incoming wire transfers?
E*Trade bank charges $0 for incoming wire transfers ($25 for outgoing). But, its online only bank.
Bottom line - you have to shop around. Even banks that charge fees - some charge more and some charge less. $20 is on a "more" side. Chase, for example, charges $15.
Incoming is often free except from overseas...
I've never found a bank offering free international wire transfers.
Is this coming from a foreign country or another part of the USA?
If it is from a foreign country, at some banks (HSBC, perhaps) you can get US$ checks for US payments, at a lower cost than a wire transfer but you have to be careful because the exchange rate might be different.
If the transfers occur wholly within the USA there is really no good reason to use wire transfer if you can avoid it. ACH is usually free and is the same way direct deposit works. Use that, or if it is within a family (like for college) you could even use postdated checks.
Stay out of the big four banks and pick an online bank. Most online banks don't have fees for incoming wire. Ally and Capital One 360 to name a few.
You can also try credit unions. DCU doesn't charge any fees for incoming wire. Alliant Credit Union doesn't charge fees for incoming wires. USAA too doesn't charge a fee.
Schwab Bank High Yield Investor Checking Account does not charge for incoming wires (both domestic and international), and has $0 monthly fee and minimum balance (plus they offer ATM fee rebates and no international surcharge).
Schwab bank does not allow International wire transfers. Accepts domestic only.