The Scorpions did it well, as did Zep, Sabbath, Queen, and numerous others. How?
I couldn't find the clip, but back around 1964 I believe a reporter asked the Beatles why the speak with British accents but sing with American accents, to which John Lennon quipped something like, because it sells. Perhaps this is a false memory.
At first I thought that rock singers might simply be following tradition. Many of the first wave of the "British Invasion" listened to a lot of American music and were imitating their personal favorites.
I have read however that when one sings, he places emphasis on syllables according to the music, which eliminates some of the distinctive featutes of his original accent. And for some reason this sounds like it's being sung by an American.
Not sure if I buy it.
Good theoretical analysis though.
Except for Ringo. You always hear the Brit in the ones he sings.
I think there are several factors.
If you are performing a song that you have already memorized, you don't have to think about what words you are going to use, but can concentrate instead on expression and pronunciation.
Also, the words are usually sung at a slower rate than in ordinary speech, so you have more time to get the desired pronunciation right.
Bad Company was a British band?!? I never knew that.