After reading this, I decided to look it up myself and this is the impression I got (although I could be wrong):
気分 = (feel) refers to feelings of the body & mind or atmosphere/mood of the situation.
気持ち = (mood) refers to a mood/impression, used in abstract phrases. More relating to emotions.
感じ = (sense) to feel something/get an impression from anything/a physical senstation, etc.
Example sentences:
気分:
だらけた気分だ = Feel lazy.
ちょっとぜいたくをさせてもらっているような気分です = I feel like I'm being spoiled a bit.
娘の結婚式に2万ドルもかかってしまい、自殺したい気分だった = After $20,000 for my daughter's wedding I was ready to shoot myself.
気持ち:
気持ちが通じ合わない = Emotionally distant.
あなたの気持ちはよく分かるわ = I know exactly how you are feeling.
できないことは何もないという気持ち = A state of mind in which nothing is impossible.
感じ:
うずく感じ = a tingling feeling/sensation.
デトロイトから30マイル北に行ったところって感じね = I'd say we're thirty miles north of Detroit.
何かがおかしい正しくないというどうしても消えない感じ = Nagging sense of something not quite right.
---------
気持ちがいい and 気分がいい are interchangeable, but いい感じ = a good feeling. "I get a good feeling from this piece of music" kind of thing. However 気持ちが悪い and 気分が悪い are different in the way that I think the former implies you are sickened over whatever it is (like you wanna vomit even), whereas the latter makes you feel more bad than sick. Then 感じ悪い (a bad feeling) implies unpleasantness more than anything. (かなり感じが悪い = To be at one's most obnoxious). Heh, I just found this:
気持ち悪い感じ = creeps〔【参考】get the creeps ; give someone the creeps〕