The best time to take Step 1 is as soon as possible after you finish your pre-clinical coursework. You start to forget that nit-picky stuff very rapidly. And, there are no "best times" to take it in comparison to U.S. students.
Also, set a date - and don't change it! A lot of people play this "extension" game, and keep pushing the date back. Point is, you're never going to feel 100% ready for this exam. So, just make a date - personally I think on a Friday is best - and keep it firm in your mind. You're going to freak out a few days before you actually have to sit for the test, but that's natural. If you play this psychological game that you can keep pushing the test date back, you're going to keep pushing it back as long as you can. One kid in my class did this and ended-up taking the exam like 2 1/2 months after he'd originally signed-up for it. He did a lot worse (in my estimation) than he would've if he'd just sat for it on the original day, which is what he was forced to do for Step 2-CK (due to his rotation schedule) and on which he scored about 20 points higher than he did on Step 1.
Good luck.
-Skip