I take that route a few times every month. PsiFighter37 is pretty much spot on.
I avoid the NJ Transit / SEPTA connection. It just takes too long compared to Bolt / Mega.
If speed, comfort, and reliability are your priority, go with Amtrak, although I find their fares for that route to be ridiculous.
If price is your priority, go with Bolt or Mega. They are fine. They are, however at the mercy of traffic.
I'm cheap. I usually take the bus.
I prefer Bolt. The low ceilings on the Mega Bus double deckers make them feel claustrophobic to me.
Bolt also runs some Phila. buses from 6th Ave. and Grand Street which is very convenient for me.