R, 86 85 bytes
Simple way. chartr has the charming and useful property that it can specify letter ranges, which save a few bytes.
-1 bytes by stealing @GB's Ruby solution'sRuby solution's translation strings - upvote it!
function(s)sub("^([^aeiou])(.*)","\\2\\1ay",chartr('zb-yadehinotu','b-zefijopuva',s))