I lived in Philly until 5 years ago, and I've eaten more cheesesteaks than I could possibly hope to remember. It's hard to say which is the best since it's really a matter of choice, kinda like hot dogs in Chicago. People come here and go to Portillo's to get a 'Chicago hot dog', and although Portillo's is by no means bad, most people would say that their local place is better. It's the same thing with cheesesteaks. Not many people in Philly would say that Pat's is their favorite. But that doesn't mean they aren't good. Also, Geno's & Pat's are not JUST tourist traps. The shtick they do is real, if maybe hammed up a bit on weekends when the tourists are in. I've had a friend of mine tossed out of line on a busy Friday night at 3:00AM (many of the original places are 24hr joints) because Pat's is packed and he couldn't make up his mind after a few seconds at the window!
That being said, my favorite would have to be the Original Jims on 62nd street in West Philly. The griddles are over 60 years old, and have been seasoned amazingly by countless number of steaks they've cooked over the decades. Pat's is also good, and Momma's steaks are pretty incredible as too.
Also, always get onions, and always ask for american cheese (usually assumed) unless you are at Pat's or Geno's, in which case you should get whiz.
Finally, as a rule, if a cheesesteak has the word 'philly' in front of it, it's not going to be good.