Perl, 6058 bytes
5957 bytes code + 1 for -p.
s$v="([aeiouy]+)";s!\w+ \w+!$&=~s/([aeiouy]+)$v(.*? .*?)([aeiouy]+)$v/3ドル2ドル1ドル/r!ge
-2 bytes thanks to @Dada !
Perl, 60 bytes
59 bytes code + 1 for -p.
s!\w+ \w+!$&=~s/([aeiouy]+)(.*? .*?)([aeiouy]+)/3ドル2ドル1ドル/r!ge
Perl, 58 bytes
57 bytes code + 1 for -p.
$v="([aeiouy]+)";s!\w+ \w+!$&=~s/$v(.* .*?)$v/3ドル2ドル1ドル/r!ge
-2 bytes thanks to @Dada !
Perl, 60 bytes
59 bytes code + 1 for -p.
s!\w+ \w+!$&=~s/([aeiouy]+)(.*? .*?)([aeiouy]+)/3ドル2ドル1ドル/r!ge