Brute force, but I got there.
I then created two streams handling those words that begin with a vowel, built in the logic to create the pig-latin word on each steam then unioned back together. I then isolated the first record of each sentence and made these words title case, with the others being set to lowercase. Once I had everything in the format I required I created a title column then cross-tabbed the records grouped by Record ID, with "Title" as the title column ("Message"), with the message being the column data and the cross tab set to concatenate with a \s as the divider:
...and Robert's your father's brother.
Not the best looking workflow of all time! I have annotated to try make it look a bit nicer.
Bringing back in the punctuation was a big challenge. I broke this down in a few formula tools so I could track progress as I went along.
Happy to have completed it, I can now speak Pig Latin...