108 bus takes you directly to 42nd St at Port Authority Bus Terminal:
http://www.njtransit.com/pdf/bus/T0108.pdf
It's local though, and stops in Union City depending on the time. Also 50 cents more than the train but it takes you practically a block away from Times Square, whereas with NJT rail you have to walk 8 blocks or take the subway.