Superficially, I get the sense that あの is for something far away from both speaker and listener, and その is for something closer to the listener than speaker. However, I seem to get in trouble when dealing with time and past events, so I'm wondering if someone can provide a more thorough explanation of the difference?
In conversation, you switch between あの and その depending on whether or not the subject is known by both of the speakers, or only one.
When both the speaker and listener know the subject -> "あ"
どちらか一方が知っている場合 ー＞ 「そ」
When only the speaker or listener knows the subject -> "そ"
A: 昨日久しぶりに山田さんに会ったよ。kinou hisashiburi ni yamada san ni atta yo.
B: えっ、山田さん？その人、だれ？ ee, yamada san? sono hito, dare?
A: ほら、大きくて派手な眼鏡をかけている人。hora, ookikute hadena megane wo kaketeiru hito.
B: ああ、あの人ね、知っている。aa, ano hito ne, shitteiru.
This can simply be used for time and events as well.
When the time is only known by one speaker.
A: ２年前、日本に行きましたよ。その時、日本語がぜんぜん話せませんでした。2 nen mae, nihonn ni ikimashita yo. sono toki, nihongo ga zenzen hanasemasen deshita.
B: そうなんですか。sou nan desu ka
Or when the time/event is known by both.
A: 子供の頃、一緒に野球をやっていた時を覚えてる？ kodomo no koro, issho ni yakyuu wo yatteita toki wo oboeteru?
B: うん、あの時楽しかったな〜 un, ano toki tanoshikatta na~
The majority of this comes from the text book 「中級を学ぼう」.
There is also the use of 「この」and「その」in writing, which refer to previously mentioned things, but I think they are outside the scope of this question.
For time related events you'd usually あの if you are introducing the topic:
覚えてますか？あのとき… Oboetemasu ka? Ano toki…
If the topic was already broached, you'd use その to refer to the already introduced time:
はい、その話覚えてます。 Hai, sono hanashi oboetemasu.
If you keep using あの over and over in the same conversation for the same topic, it can seem weird. If you start talking about an unconnected topic using その, people may get confused as to what you're referring to.
Overall it can be very fluid and change throughout the conversation.
あれ・あの〜 can be understood as "that time/thing/story/...", while
それ・その〜 can be understood as "that which you speak of".
It matters little whether the experience was shared or not, the main thing is how the topic was introduced or who currently "holds" the topic in the conversation. A shared experience may rather prompt an あれ by all, since not one speaker "holds" a shared experience; but this depends on the flow of the conversation. In reverse, you may more use それ for an experience somebody else talks about, because that person is closer to the topic; but if the conversation swerves to another topic and you want to return to the previously talked about experience, you may reintroduce it using あれ, even if it wasn't "yours".
See my contrived example:
Your explanation of sono and ano in terms of places is correct.
as far as when dealing with time this is how it seems to me.
あの時 - This one time
その時 - At that time
so その時 gets used when it is a continuation of previous topic, whereas あの時 would be more of a introducing a topic.