Go with the direct ferry - it is an overnight ferry ride, which leaves at 5pm and docks the next days around 8am IIRC. Daily departures. The ferries are very nice - and it is a nice ride. Be carefull though it may add up with dinner, visiting the bar, etc.
If you fly direct from NYC(EWR) you will arrive in the morning - and thus if you want to go straigh to Oslo, a plane is the better option. Check
www.flysas.com
www.norwegian.com/en/
Good luck