I tend to use ATM's, because I have two credit cards - one is an AMEX, one from Chase bank -- that give good rates, consistently only about 2.7% above bank rates of the amount. In their favor, of course.

Those same cards don't charge a fee for overseas purchases. The days of 3USD fee for every transaction on US cards are essentially finished. That was bizarre, at times. For reasons that were not clear to me, if I put a tip (not needed, but sometimes I did it when the service was special) on a meal bill at the Zeughaus keller in Zürich...perhaps for 2 or 3 CHF, I'd find that Zeughauskeller separated the tip transaction from the meal transaction. My AMEX card would show two transactions, both at a reasonable exchange rate, but both with a 3USD fee. So, I sometimes paid a 3USD fee on a 2.50 USD transaction. I learned to tip in cash.

Rates at Swiss train station SBB exchanges are usually OK, and you can go to a Swiss Bank, as well. One or two on every corner in the big cities. (Just joking, but they are common.)At one time, all those rates were regulated and the same at every bank. Don't know the rules today, but the banks use reasonable rates.

One thing I have learned, by being forced to change a small amount for pocket money before I left the USA for some country or another. That is- avoid Travelex . They charge consitently exorbitant rates, and i confirm that every time I chat with one of their staff at any of their booths in airports.

Although most places in Switzerland accept credit cards these days, that is a quite recent phenomenon, and some will only take cash. More common outside the major tourist ares, but sometimes I'm surprised. So, I carry some cash.