If you are using "On touch start" event to start moving, in this event it's not possible to predict if it's going to be a short touch or a swipe. So you need to wait several ticks after the touch started, to check if the finger has moved, before moving the character.
However, if you are using the left side of the screen for touch-to-move, and the right side of the screen for swipe-to-shoot, then you can detect and process both touches separately and even shoot while moving.