the web browser control is bloated, buggy, inefficient, doesn't do multi-threading, and does a piss poor job using proxies.
the System.Net.Sockets namespace is where it's really at, but if you don't feel like going there you can get by with HTTPWebRequest. HTTPWebRequest isn't nearly as solid...