What do you recommend as the best alternative to sendkeys?

I tried a few different things, currently I'm using this:

Sub Sendkey(keys As Variant, Optional wait As Variant)
WaitmsNOGC wtg
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
wsh.SendKeys keys, True
Set wsh = Nothing
DoEvents
WaitmsNOGC wtg
End Sub