I learned how to sail in the USVI this January with Blue Water Sailing School (BWSS). They are totally legit. For $2000 + $200 tip I lived aboard a 43-footer for seven days with three other students and our teacher. After a week, I got my ASA 101/103/104 certification. I would strongly recommend them if $2200 isn't too much for you...
I disagree - there are far better options. For the cost of the course and the roundtrip flight, you could have bought a used sailboat, on which you could have used to practice sailing in all different conditions by yourself, while you crewed on other people's big boats for free.
You would be a far better sailor and have much greater confidence, than having spent a week being led around by the nose and having little to show for it...
Judging by the quality of the posts of the people who completed their ASA courses (and the posts of the ASA instructors) on this forum, the students aren't really learning too much for the cost, and they lack the confidence of those who have taught themselves how to sail and own their own boats. Sailing ability comes from days and weeks of sailing and boat-owning experience, not hours of instruction. Most of the ASA graduates come on here seeking even more education and need even more help, an indication that they realize their own limitations, which remain considerable, even after completing the courses.
Buy a used, trailerable daysailor or a small keelboat, read books, read this forum and others, take the Coast Guard auxiliary courses and the Power Squadron courses, volunteer to crew on others' boats - you will gain far more valuable experience than the ASA courses. And to those of us who have sailed for a greater part of our lives, that kind of experience is far more valuable than your ASA certificates, which are virtually meaningless.
A major part of successful sailing is problem solving on the fly, extensive practical experience, and seasons of practice, and you don't learn that from a supposed "expert" teaching a group of students on a big boat for a week.