Well, there are numerous good railfan spots in the region. It depends what you want to see. If it's freight, best choices are along the former Reading New York Branch in Bucks County (try the bridge over the Delaware in Yardley, or the West Trenton SEPTA station). Anywhere west of Abrams Yard on the Reading Line will get you a fair amount of NS traffic. Valley Forge is a good spot (the passenger station is still there).
For passenger traffic, I'd go to Frankford Junction, where there are several good locations for shooting Amtrak and SEPTA trains. If you're lucky, you may catch one of the ACES trains changing ends (check the timetable). Be careful, it's not the best area, but you'll be safe in daylight.
Lancaster will get you nothing but Amtrak and local freight. Reading will get some heavy NS traffic. Try CP "Burn" west of Allentown Yard. A local railfan group has an annual picnic there.
South Jersey has some Conrail locals, but traffic on the branches tends to be relatively infrequent. Check railfan publications for frequencies and schedules. A ride on the River Line is recommended. You'll run parallel to the Conrail line out of Pavonia Yard, and there is generally some activity in mid-afternoon.
The CSX line (former B&O) south of Philadelphia is fairly busy as well. A good spot is the point where a SEPTA trolley line crosses CSX at grade. This is the only trolley crossing of a main line Class I rail line of which I'm aware.
Randy Resor, aka "NellieBly" passed away on November 1, 2013. We honor his memory and his devotion to railroading at railroad.net.