Agreed with about everyone else. August between Sophomore and Junior year is the best time to take the MCATs.
This is highly variable. If you took the MCATs soon after taking the pre-reqs and you still remember much of the material, then there's no need to spend months studying. I was in this situation, so I just bought a Kaplan comprehensive book and skimmed through it, marking the sections that I didn't know and spent a few weeks just concentring on those. Then I spent the rest of the time just doing as many practice exams as I could.
However, if you don't remember Orgo or Physics or whatever that well because, for example, it's been a while since you took the courses, then you might have to study for much longer. This is why I think taking the MCATs right after Sophomore year is such an advantage.
I would only recommend taking a MCAT prep course if you need someone to motivate you to spend time studying.