Over the past 18 months, I've found the fastest route (for me) on a weekday is NJT to Penn and then express 2/3 to 14th. Weekday rail service is frequent enough that all the connections seem to line up and I don't wait more than a minute or two on any platform (AirTrain excepted).
Weekends are another story though. I've narrowly missed both NJT trains into the city and have ended up waiting on the platform for an hour for the next train. I'd go for the bus, but the main problem is that you have to roll the dice on a weekend morning as the buses are every 25 minutes (?) and the trains are every hour (?) so if you commit to one and miss, you're easily losing an hour in transfers or waiting on the platform.
Seriously considering just forking over the $40-50 for Uber on weekends at this point.