Well my first questions are where is the mouse positioned in relation to the rectangle and what Rectmode are you in?
If the rect is being measured from the top left and you click the mouse somewhere in the middle you need to increment the x position of the rectangle based on the movement of the mouse. Also your range for your map doesn't include negative values which is what would happen in the case of left motion. So:
float m = map(mouseX-initialMouseValue.x, -width, width, -200, 200);
rectPos.x += m;
may be a smoother solution or will get you pointed in the right direction
Or you could use pmouseX to get the mouse position of the previous frame and map that.
float m = map(mouseX - pmouseX, -width, width, -200,200);