There are two parts to an FX transaction: commission/fee and spread. Many CC will now offer "zero fee" but the spread will be large. It's like when you see a Bureau de Change offering "no commission" but the rate you get is crap. I recently made two identical purchases in USD, one I accidentally used my CC, the other not. The cost of the spread on the CC was greater than the transaction fee.
The challenger banks generally have good offerings. I use Revolut (not an actual bank), but others are also good, Starling, Monzo spring to mind. Revolut works like a pre-paid card, you load some cash from your actual bank using your phone, then spend it in whatever currency with the physical or virtual card. The spread is tiny for common currencies and very good for uncommon ones. You can also draw cash up to a certain amount a month on the same terms. One proviso, you'll pay a bit more at weekends as they hedge for the Monday rate. It's not a lot, but you can open an account in another currency and transfer between accounts on a weekday if it bothers you.