I can't seem to use snapping when moving a vertex along an edge.
There is a "quantum" snap that splits moves into finite amounts of 10% distance from one vertex-end to the other vertex-end that temporarily enables when holding Ctrl (or it turns on it you have snapping enabled and holding Ctrl disables it temporarily)
You can't, but there is a work around; make the edge you want to slide the vertex along the custom transformation. Then move the vertex along the Y-axis while using that custom transform: