Hello, Fellow Sherlockians:
This is Shezza. Greetings from Canada!!!
I heard somewhere that Sherlock was diagnosed as a psychopath, didn't like it and changed said diagnosis to sociopathy. It'll also be helpful to know that the world of psychology no longer uses the words, "psychopath" and "sociopath." What they use now--I have no clue.
You must admit that Sherlock is a bit more human than Moriarty; always has been and always will be. Think of Moriarty as a shark. He's always looking for his next victim and has no remorse what so ever about whom he kills and what method he uses or the reason he did it. Sherlock, on the other hand, is willing to keep said shark from its prey, and that prey is the citizens of his beloved city of London.
Yes, they do have mental disorders,but they're nothing that your local shrink can't handle.
Cheers always,
Shezza.