You have to keep in mind that -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
ONLY gets called when the moving finger writes (sorry couldn't help the Inspector Clouseau reference).
In effect what happens is that the user can very quickly move his/her finger from one location to the next and as soon the the finger is lifted, your position updates stops.
What I suggest you do is create a CGPoint property and have -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
store the location in the CGPoint property.
Then in your -(void)update:(CFTimeInterval)currentTime
you add the code that actually moves the player to the finger coordinates. This should make things a lot smoother.