i wouldnt call it a no brainer with your amex youre guaranteed to always pay 2% over the current rate however with changing money theres a good chance especially whats been going on in israel that a few days after you change, the rate will drop and youre going to get a heck of a lot better than what amex would give you at that time (for all you laymen - if when you come to israel the rates 3.4 so if you change money or if you use amex you will lose 2% with amex itll be the purchase price + 2% and with changing money youll get lets say 3.39 now a few days later the rate drops to 3.3 so with amex youre still paying the current rate PLUS 2% whereas if you originally changed your money you would be alot better and this is been happening a lot recently)
That's a silly argument, rates can always go up or down and nobody knows which way it will go or else they'd be millionaires! If you know when rates will go up or down then go into the foreign exchange trade!
Besides when exchanging money you are charged a percentage up front, even if you don't use all of that money, while on a CC you are only charged 2% on what you spend, and then you get Starpoints that at least for me are always worth more than 2%.
Besides, I had 2 charges in Israel that I rightfully disputed and won, and 1 item that I didn't like and returned to AMEX with the Starwood card's return privilege. If I had paid in cash those all would've been lost.