The most lasting way to improve your vocabulary is to learn new words (1) in context (by looking up unknown words when you read and keeping a journal of their definitions) and (2) in thematic groups -- NOT by memorizing huge lists of unrelated words. These are some of the resources I use with my students; feel free to comment to add your own favorite vocabulary book!
-- English Words from Latin and Greek Elements
An excellent etymological resource that helps students learn how to recognize Latin and Greek roots in modern English words and use them to predict the meaning of a word. Useful for students of all levels, from high school to college.
-- Roget's Thesaurus of Words for Intellectuals
This is the best book of advanced thematic word lists I know; I assign it to all my GRE students. The vocabulary is a bit too advanced for most high school students prepping for the SAT, but it's still an excellent resource for anyone -- in high school or not -- seriously dedicated to improving their vocabulary.
-- Merriam Webster's Vocabulary Builder
Another excellent resources, for both high school and college students. Highly recommended alongside the book above.
-- Word Smart
FREE ONLINE RESOURCES
-- Word Dynamo: http://dynamo.dictionary.com/
-- Tyrannosaurus Prep: http://www.tyrannosaurusprep.com/