You need to store the original client location of the picturebox (on mouse down) and do the offset on this point:
Private offset As Point
Private pbpos As Point
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
Me.pbpos = Me.PictureBox1.Location
Me.offset = Control.MousePosition
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
If (e.Button = Windows.Forms.MouseButtons.Left) Then
Me.PictureBox1.Location = New Point((Me.pbpos.X + (Control.MousePosition.X - Me.offset.X)), (Me.pbpos.Y + (Control.MousePosition.Y - Me.offset.Y)))
End If
End Sub