I took them as a junior in February. Seems like everyone's got a different answer as to when to take the SAT, if you do take it as a sophomore then I would think you should take it again as a junior since theoretically you'll know more of the material on the SAT. I don't see much of a reason to take it before your junior year unless you just want to get a feel for how the test is held and sort of condition yourself for the test to take at a later date. Even all the people I know who took it in the first semester of their junior year took it again later on to see if they'd do better.
Each section of the SAT (Math, reading, and writing) are worth a possible 800 points each, totaling up to a 2400 possible combined. For example I'll give you my scores: math- 570, critical reading- 610, writing- 660. My "total" SAT score would be 1840. The average SAT scores for 2006 college bound seniors in each category was: Critical reading- 503, Mathematics- 518, Writing- 497 (total score average of 1518).
I didn't think the SAT was very hard, it was just very tedious and its long as hell and gets sort of uncomfortable. Math was sort of tough but I'm pretty bad at math. Reading and writing were pretty easy for me but thats my strong suite. FWIW I'm pretty good at taking standardized tests though, I know a lot of people who are smarter than me and do better in school than me who did worse on the SAT because they aren't good test takers. I'm sort of the opposite of that, don't do that outstanding in school but I kill on standardized tests (thats how I got into honors/AP classes in the first place). Clearly they should rank ahead of me academically but since I did noticeably better than them on the SAT colleges probably will think I'm smarter.
And yes, you can take the SAT as many times as you want. I've heard some colleges will even let you pick out your best individual scores from each test to submit (i.e. take your math score from your 3rd time taking the SAT, writing from the 1st SAT you took, etc.). FWIW most, if not all of the people I know who took the test as a junior, then re-took it later in their junior year did the same or worse on their second time. I would think that if you took it early in your sophomore year, then took it again in your junior year you'd improve noticeably because you'd have more knowledge of the material.
I took a class once a week for a couple of months on SAT prep, majority of the kids in my class took a different class that was much more intense with "practice SATs" every Saturday for a couple months. Other than that I don't think you can do much to prepare, you either know the stuff or you don't.