i have the same problem too. i know how to speak basic english but i want to be fluent and spontaneous when speaking it. my usual problem is that, im always at loss for words. i cant seem to find the right word so i just end up saying "never mind". ive been here in the US for 4 years (i came from an asian country), and im glad to say that i am improving, pronunciation-wise. ive already adopted the accent, but im not yet totally fluent with it. some says i can speak english well, but personally i am not convinced. the only time i can say that i am really fluent is when im able to speak english without stopping in the middle of my sentences just to think of the next word. its sucks, really.
regarding the listening skills, i am sad to say that i am quite poor at it. i always make people repeat what they said because i couldnt understand it at once. sometimes they had to repeat it for like 3 or 4 times, and if i didnt understand it yet, i just pretend i did. im embarassed already after the 3rd repitition and i dont want to *** them off. lol.
but thanks for the nice suggestions here. i would love to try those techniques. =)