If you are on the dining plan, I would go for dinner as it is a better value. Since we paid OOP, we opted for lunch. When you arrive at the castle (and it is truly beautiful inside!) you will first take a picture with Cinderella downstairs. You will then proceed up the spiral staircase into the dining room, where you are seated.
For lunch they brought us an appetizer that consisted of hummus, cheese/crackers, and some kind of salad, which I didn't care for. My daughter received grapes and cheese for her appetizer. I ordered the beef tenderloin, which was pretty good, but an EXTREMELY small portion. My husband ordered the chicken dish, which he said was fine. My daughter got chicken nuggets. For dessert I got cheesecake, which was pretty good, although nothing special.
Overall the meal itself was mediocre and the portions were ridiculously small. I was hungry when we left, and I am not usually a big eater. $160 for 3 people is a lot of money to leave hungry...
At the beginning of the meal they start to introduce the princesses w/ a little announcement giving each character's story. The princesses were Ariel, Jasmine, Aurora, and Snow White. My daughter was also given a wand and a wishing star. I believe boys are given swords.
In the end, the atmosphere of the castle was beautiful. The character interaction was pretty good. The food was so so, but very small portions. Do I regret doing it? No, I wanted to say that I had eaten in the castle, and my daughter truly enjoyed it. Would I go again? I highly doubt it.
Now this is just my lunch experience. I can't speak to the dinner experience. All I know is that it is more expensive.