Key.isDown vs. MovieClip(KeyDown)

I have had trouble with both systems of these. For some reason the Key.isDown doesn’t like to play animation like.
if(Key.isDown(38)){
this.gotoAndPlay(2);
this._x-=speed;
}
MovieClip(KeyDown) doesn’t like to move things at the same right of animation thought. For some reason (if the above code was placed in the movieclip function) the animation plays but the movement doesn’t occur until seconds later.

So I’m just asking which is the best one to use in terms of movment.