Cheapest way with the lowest fees is to use an intermediary currency specialist like
xe.com. I don't pay anything for the outbound transfer from my Postfinance account (since it's a CH -> CH transfer) and I've never paid anything for receiving an inbound ACH transfer (at least not with Wachovia or USAA, where I hold bank accounts).