Yesterday I arrived in Prague and my friends waited me at the airport. Therefore, I did not exchange any money at the airport. There was no need. I still paid attention to the exchange rate. It was 1 euro to 22.45 czk.
When we arrived in Prague city, we exchange at a kiosk hanging an Western Union sign. (Later on I realized Western Union is just for money transfer. Nothing else. ) The exchange rate showing on the plate was 1 euro to 25 czk and no cominssion fee. I changed 150 euro and got 2699 czk. I felt strange and got a receipt. Then I realized it was 1 euro to 17.9 czk I got. I did nothing because I'm not local and there might be a local gang or whatever.
Even ATM charges 6 euro commission is much better then this. Just becareful. Don't forget to ask how much you get before you put your money at the desk!!!