work for
for は「~のために」という意味をもっています。ですので、work for は「~のために働く」となり、雇用された会社のために働くという気持ちを伝えるときに使います。
サラリーマンが「~に勤める、勤務する」と言いたいとき、work for を使うとよいでしょう。
Example
- I work for Toyota.(私はトヨタに勤めています。)
- I work for an IT related company.(私はIT関連企業に勤めています。)
work at
「で」や「に」と訳すことが多い at は、場所を表す言葉をその後に伴います。ですので、どこに勤めているか、どこで働いているのかを重点的に話したいときは work at を使うとよいでしょう。
Example
- My father works at a hospital.(父は病院に勤めています。)
- I work at Isetan.(私は伊勢丹に勤めています。)

せいと
場所を表す at を使っているので、上記の伊勢丹の文は、伊勢丹というデパート(建物)の外観や中のお店が目に浮かんできます。

せいと
I work for Isetan. と言うことも可能ですが、この場合は建物(見える)ではなく伊勢丹という企業(見えない)にフォーカスを当てています。
work with
with は「~と一緒に」という意味なので、work with は「~と一緒に働く」となります。会社に雇われているというよりは、自分の才能を売り込んでその対価に報酬を得るような仕事(歌手、翻訳家、漫画家、写真家など)に work with を使うとよいでしょう。
Example
- My brother works with an apparel company.(兄はアパレルの会社と仕事をしています。)
- I used to work with Kodansha.(私はむかし講談社と仕事をした。)