Bring a large pot of lightly salted water to a boil. Add egg noodles and cook for 8 to 10 minutes or until al dente; drain.
Preheat oven to 200 degrees C.
Toss drained noodles with 2 teaspoons of the oil. Heat remaining oil in a frypan and saute onion over medium heat until soft. Combine noodles, onion, mushrooms, ham, Swiss cheese, salt and pepper. Transfer to a greased casserole dish. In a bowl mix together egg and milk; pour over noodle mixture. Sprinkle with parmesan cheese.