The answer to this question will be different for each person. There are two main ways to prepare:
1. Self review
This involves creating or using a pre-set study plan. You will have to buy review books and practice tests on your own. This option is generally for people who are good self-studiers. It is obviously the cheapest option because you do not have to spend money on a prep course. Nevertheless, people who lack the discipline and time management skills should avoid this route.
2. Commercial Prep Course
Most students use this option, enrolling in either a live or online class. The prep course provides you with all the material you will need to prepare including review books, their practice tests, AAMC practice tests and teachers for subjects. These courses are generally very well organized and have a set schedule for you to follow. This option is best if you successfully follow the schedule the course provides. The course keeps you focused and organized. Keep in mind just attending classes is not enough to ensure a good score. Students typically must study 3-6 hours outside of class in order to score well.
Prep courses typically cost $1600-$2000. Make sure you look for discounts online prior to enrolling. You can usually save $200-$300 by enrolling early or using a coupon code.
Personalized 1-on-1 coaching is the most effective means of preparation, but likely also the most expensive.
*Note: Prep courses have their own practice tests that are supposed to mimic the real MCAT. Nevertheless, they usually overestimate or underestimate your score. Take these tests with a grain of salt and trust the actual practice AAMC tests.