(No, not another Sarah Palin jab...)
When I first heard Lena Headey's real accent (TV's Sarah Connor, Terminator Series) in an interview, I was very surprised. I wasn't familiar with her previously, and didn't know she was British! Good job.
Christian Bale plays an American quite often, and I think does a great job (The Dark Knight, Batman Begins, Rescue Dawn, American Psycho, 3:10 to Yuma and more... plus in the upcoming Terminator he is John Connor). I've heard an occasional slip, very pardonable and hardly noticable. Here is the Welshman out of character:
Ewan McGregor plays an American quite often, but I think his accent is just passable - and really wish we could hear his real accent in films more often. In Deception, I would have liked it better if both Hugh and Ewan (good band name!) had used their real accents. What's wrong with having your accountant be from Scotland? hmm? Here he is describing his elephant encounter.
I really think the best American accent I've heard is Hugh Laurie (House). Listen to him out of character here:
More on the subject: [NPR] Foreigners Playing Americans Star In U.S. TV Shows
Tags: House - McGregor - Terminator - Bale