Bueno lo que pienso que podrías agregar otro form y allí colocar tu UserControl de manera que no tome el evento Opacity del form1 y con conrdenadas podras moverlo, si es que debes moverlo, al mismo tiempo que mueves el form1

Las coordenadas; en en el load del form1 ingresas también form2 con el User. con las coordenadas que tu quieras
yo utilizé dos integer x y y para agregar la posición del form2 ejm:En el evento load del form1
Form2.Show()
Form2.Location = New Point((Me.Left + x), (Me.Top + y))
El form2 formeBorderStile en None y el UserControl ocupando todo el Form2. En el evento del form1
Move le asigno los mismos valores que en el load
Private Sub Form1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Move
Form2.Location = New Point((Me.Left + x), (Me.Top + y))
End Sub
para ubicarlo en la posisción que desees solo agrega o quita valor a x y
y en su declaración.
Saludos