Google Maps has had a “Transit” layer for some time and it used to be empty for New York City. Not surprisingly, they’ve recently added the NYC subway map illustrating where the different lines run. It works on maps.google.com as well as Google Maps Mobile on your phone (read about it here).
I’ve been using the subway map from onnyturf.com/subway for years and while that is basically the same thing, a NYC subway map layered over Google Maps, there are some differences. Below I’ve included a comparison of each map showing an identical area around times square.
In my opinion, the onnyturf.com maps is cleaner and easier to read. It also shows more information about pedestrian pathways and subway entrances (when you zoom in) and it includes the PATH train.

onnyturf.com subway map
The Google Maps Transit layer shows more detail in terms of buildings, landmarks and station names which could certainly be helpful to some. However, it looks a bit cluttered and doesn’t show pedestrian pathways, subway entrances or the PATH train.

Google Maps Transit Layer
Another option is http://www.transitme.com that uses the official MTA maps in a Google Maps API. It does not overlay it with the street grid, but it’s nevertheless more useful than the PDF download on the MTA website