I think Coop Depositenkasse offers the best rates for cash. I bought some DKK because I was flying to Greenland and there was no way of getting DKK on the way
On my trips in the last 10 years to
a) Iran: Euros were fine. Swiss franc rate was announced too
b) Cuba / Nepal / Bhutan: some ATMs worked with my postfinance card and if not CHF in Cash were fine. In Cuba USD actually got a 10 % conversion penalty when I was there.
c) Mauritania, Mali: ATMs worked, if not Euros in Cash were fine.
I would not bring more than 100 CHF / EUR in cash to any country which is not under an US embargo at the moment