imo there's no better time to prepare for SAT(and PSAT) than the summer before junior year instead of trying to cram it into everything else going on in school during the year.
I think working through all of the free Khan Academy SAT prep is a great way to start in order to provide a solid foundation for all of the subjects on the SAT. After that, decide if you need a paid course based on how they do on a couple of the official College Board practice tests.
For high performing kids, a lot of the group classes don't provide a lot of value imo as they'll waste lots of time working on stuff they already know. We used PrepScholar which is an online adaptive program based on their strengths and weaknesses so they can work at their own pace and focus on their specific weak areas. If the kid isn't really motivated to work on it solo, then a group class may be the better option.
Finally, if they are within reach of their goals but just struggling to get over the hump in a few areas a little 1 on 1 tutoring can be invaluable. We used Wyzant to find a reasonably affordable tutor that my son has been meeting w 1 time per week over the past 4-6 weeks leading up to his PSAT which he took 2 weeks ago and first SAT coming up this Saturday.