I finally got a chance to see Sherlock Holmes this weekend, though I've been wanting to see it since it came out last month. Directed by Guy Ritchie, the movie follows Sherlock Holmes (portrayed brilliantly by Robert Downey Jr.) and Doctor Watson (Jude Law) as they track a murderous cult / criminal ring.
Speaking as someone who would not describe herself as a "fan" of Sherlock Holmes, but who has read enough of Doyle's stories to be familiar with the characters of both Holmes and Watson, the screenplay was incredibly true to the stories. Law put just the right amount of exasperation into his portrayal of Watson, while Downey played the idiosyncratic genius that is Holmes to the hilt. (While Holmes' drug use was alluded to briefly, it was not emphasized, which I'm sure has some purists up in arms.) Other than one brief foray into religion, nothing stood out to me as being out of character for either man.
The female parts of the movie were far less thrilling. I found Irene Adler (Rachel McAdams) to be rather two-dimensional, and Watson's fiance felt like a plot device thrown into the mix only to prove that Watson and Holmes are burly heterosexuals. (Speaking of the "gay Holmes" rumors, I will say only this: there's a difference between homosocial and homosexual.)
Unless you're a huge fan of the books and will hate any film adaptation, I would recommend this movie just because it was so fun to watch.