Probably still at the ATM. You will get the best exchange. Check each of your bank's fees, but generally speaking it's still cheaper to use the ATM and pay your bank's fees for doing that rather than exchanging for foreign currency in-branch.
Have you considered opening a Fidelity or Schwab account ahead of your trip? Fidelity (IIRC) charges only the 1% Visa network fee and refunds any ATM fees charged by the owner. Schwab is similar.
Alternatively, TD Bank used to be somewhat competitive here, but I no longer bank with them so you'll need to verify this. At some point in the recent past, they charged $2.50 or $3.00 for non-TD ATM withdrawals, with no other fees (including foreign exchange fees) and some account types even had the flat fee waived. Find out what your account type offers you, but that may be your winner to use at the ATM in MXP.