I like approach described here. It takes into account possible exceptions and delays when launching the browser.
For best practice make sure you don't just ignore the exception, but catch it and perform an appropriate action (for example notify user that opening the browser to navigate him to the url failed).
Dim sInfo As New ProcessStartInfo("http://www.mysite.com")
Try
Process.Start(sInfo)
Catch ex As Exception
Process.Start("iexplore.exe", sInfo.FileName)
End Try
I found that the answer provided by Blorgbeard will fail when a desktop application is run on a Windows 8 device. To Camillo's point, you should attempt to open this with the user's default browser application, but if the browswer application is not assigned, an unhandled exception will be thrown.
I am posting this as the answer since it handles the exception while still attempting to open the link in the default browser.