I have started using a service called Revolut which offers a prepaid mastercard and allows you to convert money to USD/GBP at market rates with
zero commission https://revolut.com/
Have used to purchase some stuff online in GBP and requested the physical card (to allow ATM withdrawals when outside the Eurozone) and it works very well so far.
As I understand it, it is free for the first 12 months and then they might charge a fee. There is a code from MoneySavingExpert "MSE" that will give you a £5 bonus if you sign up and deposit a tenner or something like that.