Each sentence mean different situation from the others.
If you want to put ''するに際し（するに際して）'' in another way, you can say ''するにあたり（するにあたって）''.
''するに際し'' and ''するにあたって'' are used together with another verb, are need to be previous event.
So, you can know he had spoken his joy before he visited Japan.
I think on the occasion of is likely to be one of the most appropriate translation, however, ''するに際し'' has more relative to the main verb than on the occasion of does, I think.
So you can know his joy was his visit to Japan.
About Y and Z, the tense are the only difference of ''する際に'' and ''した際に''. They mean ''at the time when someone does or did something''.
If you need not to say politely, you can use ''する時に'' and ''した時に''.
In Y, it was before he came to Japan when he spoke of his joy.
Otherwise, in Z, he spoke of it after he came to Japan.
Hense, X, Y, and Z would be translated into English as follows.
X'. He spoke of his joy on the occasion of visiting Japan.
Y'. He spoke of his joy when he was going to visit Japan.
Z'. He spoke of his joy when he visited Japan.
By the way, I will make a little explanation about the tense in Japanese.
Although some readers may wonder if ''訪問する際に語った'' isn't correct, ''訪問した際に語った'' or ''訪問する際に語る'' is correct, all of those are correct because of the following reason.
Please look at examples as follows carefully.
It depends on the the time compared to the main verb whether present or past tense, that is, ''来る'' or ''来た'' is used.
When you compare the time of the verb ''知っている'' and ''来る'', ''来る'' is or was the future, the following event, in A and B. So you have to use ''来る'' instead of ''来た''.
These are translated into English as follows.
A'. I know he will come.
B'. I knew he would come.
C'. I know he came.
D'. I knew he had came.