I never knew about this 3% before. Presumably this is on all foreign currency transitions and not just cash advances? Pretty dire but is there any other alternative? As I don't have a Tesco clubcard, my Amex spending is the only way I manage to substantially top up my BA miles.
It is slightly more bearable on the personal card because of the 1.5 miles per Avios earnt and the fact it counts towards the £10k. Hard to justify using any mileage card abroad if you only get 1 mile per £1.
moneysavingexpert.com has a good article on credit cards which do not charge the 3% fee.
PS. I only recently realised that Amex actually charges the fee twice when you refund a ticket. (I am currently Euro-cheating so award flight taxes are priced in Euro, not £). Euro 200 of taxes gets me a Euro 6 fee on top. And if I cancel the flight, when the Euro 200 gets refunded to my card, I get charged another Euro 6 commission!