Personally I use a premium checking account which makes it so I don't pay any foreign ATM withdrawal fees (except the fee the actual ATM charges) and just take out cash in bulk visits to minimize the amount of fees paid. Then I use a visa that has no foreign exchange rate fees.
^This gets me pretty close to paying as little fees as possible while being very convenient and easy to do. Sure you could probably save a little bit more but Revolut is not an option for me (Canadian). I will check out Monzo.
Let us know what you end up doing