I am at lunch. - I am at lunch - tomorrow between 10:30 AM and 2:00 PM. I am at lunch - now. I may or not have food yet or may have already eaten.
I am on lunch. - I am on my lunch time slot, I may or not eat or may have already eaten. I may, deliberately or not, use my lunch time slot to pursue some activity, including or excluding lunch.
I am having lunch ... , now, in the near, distant or vague future. I am having lunch in 2 seconds, minutes, hours, days. I am having lunch, someday, belatedly, in my lifetime with the heroine, honoree, victims, refugees, celebrity, at some notable place
Treccani states (http://www.treccani.it/vocabolario/pranzo) "Nell’uso ufficiale ed elevato si preferisce, peraltro, chiamare colazione, termine di tradizione letter[aria], il pasto del mezzogiorno, riservando pranzo al pasto della sera." That is to say, if you are invited to the embassy or to a noble house, or to some official event, you might hear "seconda colazione" for lunch and "pranzo" for dinner; breakfast is often called "prima colazione" to avoid confusion.