ну когда ты пишешь sed|sed, то bash запускает СРАЗУ две sed, направляя вывод одной sed в другую sed. А когда ты пишешь find -exec, то синтаксически после exec идёт ОДНА команда, и твой $ в лучшем случае как параметр интерпретируется. Причём КОМАНДА, т.ч. упороться и написать find -exec eval у тебя не получится.
Но при желании конечно можно всё. Вплоть и до такого говнокода:
$ find -exec bash -c "echo ss | sed 's/.*/\U&/'" \;
только боже упаси тебя рассказывать кому-то, что это я тебе посоветовал.
поправка: 2 процесса + перенаправление. у тебя получится каша в файле '{}'.fix,состоящая из всех файлов, найденных по паттерну. Вообще перенаправление в цикле неблагодарная вещь.