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.