Thank you for response,
unfortunately setAttributes doesn't affect cx and cy of sprite what (I suppose) makes dragging incorrect.
So I ended up with this solution: I store all translations for current sprite in special Object (called spriteTranslationSession in snippet). Then on each 'drag' event I sum deltas of dragging with stored translation and on each 'dragend' event I replace values of sprite's translation - that makes dragging seamless.
Maybe that's redundant work but I couldn't find better solution.
var surface = cmp.getSurface(),
currentTranslation = this.spriteTranslationSession[this.active.getId()];
translationX: e.deltaX + currentTranslation.x,
translationY: e.deltaY + currentTranslation.y
Thank you guys for great work!