I spoke Spanish fluently some years ago. I took Berlitz lessons here in USA, and then spent quite a bit on time on the ground in Latin America.
Lately I have tried to get it back, without moving to a Spanish speaking country. I used Pimsleur tapes, Behind the Wheel Spanish and the US Foreign Service Adaptation of the Monterey Language School tapes. All are good, but nothing like a good teacher, or going to the country and taking lessons and immersing yourself without any English speakers around to give you a vacation. Using these home study aids helps for part of our education.
The tapes (now CDs) are very good for helping accent, building vocabulary, etc. Where a teacher really helps is in answering pesky questions about grammar, about the actual current use of forms such as usted vs. tu, and by actually physically showing how to hold the mouth to make the correct sounds, and by listening to what we are saying and helping to pull the pronunciation into line with what he or she is using. The other thing is, you get the visual. Part of communicating like a native is seeming like one. Americans are often stiff, relatively unexpressive with their faces and hands, yet at the same time maybe loud. We also have different concepts of personal space and interpersonal comfort.
Even fairly modern CDs use constructions that are much more formal and actually stilted than what people use in the countries.
I speak with people as often as I can. Still its hard, and I think to really get what I am hoping to get I’ll have to pick up and leave for a while. At least a couple months, then a couple more, then a couple more. That should really help.
My accent and rhythm are still good, since I mostly learned on the ground. When a Spanish speaker hears me, he lets fly and then I am lost because I have lost too much vocabulary, as well as verb constructions.
So I'd recocmmend some CDs. Pimsleur are good but expensive. Then go for while. This helps with the motivation too, since you get pretty lonesome and really quickly try to develop enough to talk to people.
Ha