Research the schools that fit your description of top notch academics, small classes, and a great science program with the previous post's consideration for geography. I assume a competitive private school's college counselor would be a valuable resource.
Narrow your choices down to a dozen and contact the XC coaches at those schools to learn first hand about their programs. Know what you want out of your collegiate running experience before contacting them.
Plan on a summer trip to visit schools to get a feel for what schools look like and hopefully make some contacts on your visits.
Apply to schools in fall of senior year. Get accepted to schools by March of senior year. Get financial aid package by April of senior year. Put deposit down on school by May 1 of senior year.
Unless you have placed highly in a state meet or other highly competitive race, you are probably under the radar for athletic recruiting. Don't be discouraged. Do your homework on colleges.
Don't be discouragded. You will not get replies from some coaches. Be prepared to show your academic transcript after your Junior year to interested coaches.
Don't get discouraged. Financial aid packages are very late in the process and are a major factor in your decision. Your favorite academic school or favorite cross country program may not be your best finanical aid package.
Lastly, until your acceptance letter is in writing and your financial aid offer is in writing, you have not been accepted and you have no financial aid. These won't be coming for another year. You have a lot of time left.