1
When they mean "be about to", they are almost interchangeable. The only difference between them is as follows:
If I feel that something will happend in a EXTREMELY short time, I usually say "就要...了".
If it will happen in a VERY short time, I usually say "快(要)...了"
If it will happen in a short time, I usually say "要...了".
For example,
Supposing that it's 8.00 now and I'll watch a movie.
If the movie will start at 8.01, I usually say "电影就要开始了".
If it will start at 8.10, I usually say "电影快(要)开始了".
2
"要...了" can be used to mean "be going to do sth", while the other expressions can't.
For instance,
我要去北京了. I'm going to Beijing.
什么时候? When are you going there?
下个月. Next month.
3
"快" can be followed by a particular point in time. For example, "快三点了"(It's nearly 3 o'clock).
However, the other expressions can't be used this way.