Richard Roxburgh is the only actor to have played Sherlock Holmes, Professor Moriarty, and Count Dracula on-screen, and he played them all within three years of each other. He played Holmes in The Hound of the Baskervilles (2002), Moriarty in The League of Extraordinary Gentlemen (2003), and Dracula in Van Helsing (2004). Orson Welles has also played all three characters, but only on radio programs. Anthony Higgins has played both Holmes and Moriarty on-screen, but not Dracula.
Christopher Lee played both Holmes and Dracula on-screen, and Frank Langella and Jeremy Brett played Holmes and Dracula on the stage. Brett played Holmes on-screen and Langella played Dracula on-screen, but neither played the other character on-screen.
Orson Welles also played Treasure Island's Long John Silver, both on the radio and on film. The character has also been played on-screen by Jack Palance, who played Dracula in a 1973 film, and Charlton Heston, who played Holmes in a 1991 film. Silver has also been played on-screen by Tim Curry, who played Dr. Frankenstein in a CD-ROM video game, and Charles Ogle, who played Frankenstein's monster in the first film adaptation of Frankenstein.
Oh, and Laurence Olivier has played both Van Helsing and Professor Moriarty on-screen. And who else played Van Helsing? Peter Cushing, who also played Sherlock Holmes.
Oh! And on the NBC show Dracula, Van Helsing is played by Thomas Kretschmann, who played Dracula in Dracula 3D. In that movie, Van Helsing was played by Rutger Hauer, who played Dracula in Dracula III: Legacy.
I'm sure Kevin Bacon fits into all this, but I'm not yet sure how.