I guess you could do some smoothing of the position with previous one's. just save the previous physics position to a variable. Sampling older positions for more smoothing may not be too useful.
every tick
--- sprite: set x to int((phybody.x+self.oldx)/2)
--- sprite: set oldx to phybody.x
I guess you could also only move if the physics object moves 2 pixels or more. I think that may just make it look like things are getting stuck.
pick by comparison: sprite: abs(int(pysbody.x)-sprite.oldx) >=2
--- sprite: set x to int(physbody.x)
every tick
--- sprite: set oldx to phybody.x
You may also try round() instead of rounding down with int() or floor(). Not sure that would matter in the slightest though.