You can attach a handler to the Snap paper, you may want to deal with offsets of where the paper is, which can make it a bit fiddlier (and can get even trickier depending on layout/scroll/zoom, but I've tried to keep it as straightforward as possible), I've include a couple of circles to highlight the difference.
var s = Snap(400,400);
var c1 = s.circle(0,0,10).attr({ fill: "red" });
var c2 = s.circle(0,0,10).attr({ fill: "blue" });
function moveFunc( ev, x, y ) {
c1.attr({ cx: x , cy: y });
c2.attr({ cx: x - s.node.offsetLeft, cy: y - s.node.offsetTop });
};
s.mousemove( moveFunc );