1) The king and queen praised my teacher at hosting the event/funtion sucessfully.
2) The king and queen praised my teacher for doing a good job at hosting the event/organizing the event.
3) The King and queen are happy with my teacher for doing a good job at hosting the party.
There is a 'c' in "function".
You will often hear the "at" construction in English but, as your sentences 2 and 3 suggest, it implies "for doing a good job" and is not strictly correct. The verb "praise" always uses "for", when appropriate.
So sentence 1 should have "for" not "at". The others are technically correct.