In answer to the very first post, the best thing would be a tilt-shift lens, or failing that a panoramic head for your camera. Both of these are very expensive however, and considering the results you can get from just a smartphone, not really nessicary 99% of the time.
I have neither of these because I'm not rick enough, but have used a pano head before and they are great. Here is a few I've done:
I use a number of different programs as I find sometimes one program will work great, then will fail on the next photo and one of the other programs works great. I mainly use PtGui/Photoshop and sometimes Microsoft ICE or Photostitch.