Getting foreign currencies is a bit of a hastle. I'm from Germany (EUR), so this article is focused on how to get other currencies in Germany given that I have Euro.
There are two ways to get foreign currencies if you are working with digital money: With credit cards or Transfer Wise
For credit cards, I recommend N26 - see online banking). I've just been in Budapest and it worked like a charm. They sometimes had the price in EUR on the bill as well. Usually, it was something like 35 EUR on the bill but the rate of N26 was so good that I only paid about 30 EUR.
If it is about transfering money I've only used Transfer Wise so far. It was about transfering money to Nepal. My girlfriend uses it also to transfer money to Indonesia. So you can see that it is an option for rather exotic things. The website is super transparent and the fees seem reasonable. I'm unlikely to change the service for that reason.
Reisebank is for sure one of the biggest providers if you want to get foreign currency in cash in Germany.
Deutsche Bank seems to allow it as well, but only via phone?!? (source)
|Bank||1000 USD in EUR||Additional Fees||Total Fee|
|(Google Website, 17. Dez., 21:30 UTC)||881.34 Euro||-||-|
|Reisebank||928.26 EUR||10.75 EUR (you can go to one of their shops to avoid it)||57.67|
|VR-Bank -> Reisebank||-||-|
|comdirect -> Reisebank||929.15 EUR||5.75 EUR||53.56|
|ING DiBa -> Reisebank||928.26 EUR||5.75 EUR||52.67|
|Travelex||925.24 EUR||8.50 EUR (Berlin, Hannover, Frankfurth for free)||52.40|
If you really need cash, go to a Reisebank shop (e.g. Munich central station). If not, try N26.