It is virtually impossible to get on top for new sites, after a year or two with proper onsite optimization and link building you can start getting some decent results especially if you focus on a specific niche.
We have top results for our niche in Yahoo and MSN/Live but don't seem to be getting anywhere in Google. Our web hosting site is less than one year old though, but we expect to start reaping the fruits of our link building efforts very soon...
I have optimized 3 hosting sites. I optimized the 3 sites for the keywords "Quality Web Hosting", "Affordable Web Host", and "Free Cpanel Hosting". At first all 3 of them were listed in the top 5 for their keywords, but 1 of them has recently dropped back to page 2, I guess that company has all but died.
IMO you should first of all do (or have done for you) some serious keyword research to show you what terms you can rank for in a short time and which are going to take a longer effort.
Its not impossible to rank for web hosting in a short time, but it can be expensive. If you don't have a large budget keyword research will show you terms which are less competitive and will convert well. If you do have a large budget you can get ranked for web hosting in six months.
A site can rank fast if it has high quality trusted links. Getting .edu links and links from respected information sites helps a ton. One tactic I have seen for web hosting terms is that they put a link on every page they host if they can get away with it. Offer free or discounted hosting with a footer on the bottom page. Search out a bunch of non profit companies and offer them free hosting in exchange for a link on their sites. If you do this make sure you get a lot of differnt subnets or you can actually not host it yourself just pay for the hosting at another place.