I personally think the best time to take USMLE Step 1 would be right after you finish your MBBS. The reason for this is because due to the Pakistani curriculum, special pathology is not completed until 4th year, and this is one of the subjects which is included on Step 1.
Also because final year has so many prof subjects of its own (6!) there isn't much time to dedicate to studying for Step 1. Therefore, as soon as you finish your MBBS, you should plan to take Step 1 and Step 2 within about 8 months and then apply for the next year's Residency Match program.
That's my opinion---however I'm sure more experienced people can offer more insight into this process.