One of the single most important things about acting is making sure your character sounds right. This means that movies are full of people creating accents so that people sound like they're from the right places. Christian Bale thinks most Americans are terrible at English accents, but he says there's a reason. According to Bale, most American actors get their English accents from watching movies with English accents, as opposed to really listening to how actual people talk. English accents actually vary greatly, but everything you hear on screen turns out the same because they come from the same sources. Bale says...
You know what the mistake is people make? Imitating other films instead of imitating other people. Because, and especially in Americans doing English accents why shouldn't they be able to do them impeccably, it's because largely you get a sort of middle to upper class accent that is represented in film and in television that makes it way across the atlantic and then all Americans think all English speak that way which is absolute bollocks, so it would be actually go to the place and talk to the people and it's the same way going the other way.
Christian Bale was asked about accents as part of an AMA on Reddit that was used to promote his new film The Promise with Oscar Isaac. Of course, for Bale, the accent issue goes the other way. He's English and he spends a lot of his time playing Americans, as he actually does in The Promise. To be fair, he says that the accent problem goes both ways and would also apply to English actors doing American accents. It's not clear whether he's saying he's guilty of basing his accents off of American movies or whether he's taken the extra effort to try and learn how real people talk, though we can assume that he at least tries to go the extra mile to make his voice authentic in order to make his characters more believable. He certainly works hard to make his characters look right.
All accents are nuanced across geography. In the U.S. we know that folks in Minnesota have accents very different from those in Arkansas and if everybody in film sounded like they lived in California, even when they were supposed to be from New York, it would take you completely out of the movie. The same is true in England. Accents are regional and while not everybody might necessarily be able to hear the difference, people that live with it certainly would.
Overall, we'd have to say that most actors do their accents proud most of the time. There are always exceptions but if people want to improve they could always take Christian Bale's advice and take the time to listen to the people they want to sound like.