It's pretty easy to write an (Dijkstra's) Algorithm that simply considers the vertices and possibly the path length. I'm sure they will eventually include the subway into it too but it does take more work.
I like the idea, but the subways should be optional (with a checkbox or something). Sometimes I like walking all the way :)
Factoring in alt. routes could be done similar to Google Maps: Set your destination, then add optional waypoints along the way which the GPS path factors in.