The recommended way in not to do it from outside the UserControl, but to do it from inside the control instead.
So create a method which adds it:
Public Sub New(text As String)
Dim but As New Button()
but.Text = text
but.Location = New Point(10, 10)
but.Click += New EventHandler(AddressOf button_Click)
Controls.Add(but)
End Sub
Then just add the handler method itself:
Protected Sub button_Click(sender As Object, e As EventArgs)
End Sub