There are ample rea$on$ why non-American actor$ can do decent American accent$.
It opens up American roles for them. Nobody is going to cast Brad Pitt as a Brit, an Australian, or a Kiwi. He's a fantastic actor, but they're going to use the homegrown talent. So there's no incentive for American actors to really learn another accent. Instead, we get a mountain of non-American actors doing mostly-good-but-sometimes-awful accents because that's where the money is.
Since you mentioned Pitt, a funny anecdote: he wanted to be in Snitch because he was a fan of Lock Stock. But his London accent was so terrible that they went and made up the whole indecipherable gypsy thing just so he could have a role to play in the film.
Not only that, but a lot of British films will make british-only casting decisions, eg the Harry Potter series. I've never heard of a major American film making that choice, and it would probably be blasted as xenophobic if it did.
Er how many American movies have a single non-American? The only foreigners that consistently find employment in American cinema are Britishers, and that’s because the British English accent is perceived to have an at least equal prestige to the American one. You’re not going to find many main characters that are, say, Middle Eastern or South Asian or African.