Actually The Doctor (at least Eleven) is usually pretty sweet, though he's childish and annoying because he's well Eleven, oh and he's an alien. I blame Sherlock's rudeness on his severe lack of social skills. Watson would probably feel left out because he's supposed to be Sherlock's companion. This might explain what happened after Sherlock faked his death though; he met The Doctor and traveled with him which would also explain why it was three years because The Doctor, (especially Eleven) is so bad at time.
I got it from an interview wherein Moffat said why a Sherlock/Doctor Who crossover would never work. Basically, he said that it's because they're very much alike, both being geniuses and strangely alien, and that neither of them would give in to the other, because, well, we all know how Sherlock and The Doctor are like ;D TL;DR: They have to be the main character to make it work, but they can't both be the main character at once: the closest we can get to a crossover is one of them vaguely referencing to the other.
Also, there would be continuity issues: Sherlock is fictional in the Doctor Who universe, and in the Sherlock universe all stuff with aliens and Torchwood and everything never happened. (although you could blame it on the cracks in time, or after-effects of the Time War, like they usually do)