This was inspired by http://trac.openstreetmap.org/ticket/3380. I actually think it works pretty well. Even on my ancient desktop, where potlatch as a whole runs pretty slow, I don't see any performance hit. I've tried to keep it as unobtrusive as possible - in many instances you need to zoom in to see the arrows, which I think is ok.
relation[type=route][route=foot] way { z-index: 1; width: 10; color: #80ff80; opacity: 0.6; }
+/* Show directions of highlighted ways */
+way[highway][!oneway][!junction=roundabout]:selected,
+way[aerial_way]:selected { z-index: 14; color: #999922; width: 2; dashes: 3,60; line-style: arrows; }
+way[waterway]:selected { z-index: 14; color: #4444CC; width: 2; dashes: 5,60; line-style: arrows; }
+way[railway] :selected{ z-index: 14; color: #999999; width: 3; dashes: 4,92; line-style: arrows; }
+/* ... add other types where direction is important. */
\ No newline at end of file