How long does it take to obtain top positions?

How long it takes to get top positions depends on the frequency of search engine updating its database, and of course the progress of your search engine optimization campaign. Once your optimized web pages are uploaded, it generally takes two to eight weeks to get targeted search engine rankings.
For Google, the search results updated weekly. Once your site is re-indexed, it will take Google approximately another week to be listed in targeted position.
Yahoo updates its database monthly. It will take Yahoo another monthly to list your site in targeted position.
MSN is much more aggressive than Google and Yahoo. It updates its database and search ranking on a daily basis. Therefore, you can expect to get top position in a few days.