We've done it a couple of the ways you mentioned. Having someone drop us off and then pick us up at the end of the cruise was certainly the best for us -- but we were fortunate to have someone who lived close by to do it.
Leaving the car at the terminal is also a good option. There's plenty of information
HERE. These rates aren't really so bad for Manhattan.
If you take the bus, you'll likely be dropped off at Port Authority, from where you can take a taxi for less than $10. If you opt for the bus, make sure to leave plenty of time for mechanical and other delays.
Of the three, I'd recommend driving yourself and parking at the terminal, as it will give you the most flexibility.