All of these are perfectly natural and acceptable forms for the same phrase. The only difference is the degrees of formality that each one has. In order of most formal to informal I would list them as:
(私は)日本語があまり上手 じゃ ありません.
(私は)日本語下手です.
(私は)日本語に苦手
For the second one, the particle に is omitted, which is often done in spoken language, but it is more formal to include it. However, it is still more formal than the third version, due to the です at the end. My Japanese professors always told me that the longer a phrase is, the more formal it becomes. This may be an exaggeration in some contexts, but since the most formal version of verbs are often much longer, I can see how this is often true. The opposite is also true; the more you abbreviate a phrase, the more casual it becomes.
I hope this helped! If you have any more questions about this, please let me know. :D