My husband just asked his bank, Smile, about cashing a US check made out to him and they've said there's a £4 charge for international checks, and that they must all be endorsed on the back (not usually done in the UK). I've done it in the past with Barclays and I seem to remember there was a fee with them, too, and it took several weeks to come into my account.
We had a few problems with checks from US relatives for our wedding gifts, but mostly because they wanted to write out something stupid like "[his first name] and [my first name] [his last name]". And err, not only am I not taking his name, by my US bank has no clue who is, either. So those relatives got a very nice and sensitive call from my mom to please rewrite the check in my actual name so we can cash it. But that was only like 3 checks out of 50-odd, so mostly people had the sense to ask first (and look at our registry where we gave check instructions).