It only moves fully when it is negative vx or vy values.
For example: "!set vx spng 1" Will only move a pixel wide layer of spng to the right On the other hand... "!set vx spng -1" Will move the whole shape right to left. It has nothing to do with shape.
Meh... Every time I figure it out, I forget. I often seem to give info that is the opposite to the correct info. I just resort to not using moving sponge. User25's advice sounds right.