イベントハンドラはRegister-ObjectEventじゃなくてJScript.NetのAdd_*形式で登録するのが正解。
さらに、Application::RunよりもShowDialogの方がお手軽ね。
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$form = New-Object System.Windows.Forms.Form
$form.Add_Click({$form.Text = "Test"})
$form.ShowDialog()