Practice. Practice. Practice. And in specific, practice making sentences since that's where you're struggling. Write journals on here or lang-8. One fun and helpful thing is whenever you think something in English, try to rephrase it in Japanese. So if you think "Oh, I need to go to the store", try to figure out how you might say that in Japanese (in your head). That way you can work your practice into your whole day, and then if you can't figure it out, post somewhere to get feedback on how you might do it.
A few other things, it's actually very normal for people to find themselves either better at production or better at reception. So for example, some people are better at speaking because they can use the words they know, but they have a hard time catching what people say to them because they get lost if they don't know a word. I think your type is a bit more common. That's why people will often give themselves different skill levels to the four different areas of language: reading, writing, listening, speaking. Improvement isn't even across the whole set of language skills.
One other important thing of language learning is learning how to work *around* what you don't know. Try not to get so worried if you feel you don't now the perfect sentence to get your meaning across. Try to be flexible and say what you know, rather than say nothing (because practice!). Hopefully you'll get better and won't have to do it as much but don't get discouraged if you feel like you're just spitting out random words sometimes.
Finally, I'll leave you with (what I think is) a humorous story. My Japanese interpreter friend/colleague was telling me that her Japanese skills skyrocketed when she learned the word "kou" (this way) because she could simply say "kou shite" (it's like this) in certain situations and make a hand motion and the listeners would understand. I think my point is, more complexity doesn't always equal better communication.