I have only had character meals at the Lucky Nugget Saloon, and Cafe Mickey (also had character tea party at the Plaza Gardens though).
Cafe Mickey is in the Village, so for lunch, it would involve you leaving the parks for your meal. Its about 10 minutes walk from the gates of the main park up to Cafe Mickey (its the furthest away restaurant in the Village).
The Lucky Nugget Saloon is in the park, in Frontierland.
Both, I thought, were good value for food and character interaction. Personally, I'd go for the Lucky Nugget, as its more convenient (its right there in the heart of the magic), its an all-you-can-eat buffet, and theres also a live band plays there. When we went, we saw more characters too, in the same period of time as we spent in Cafe Mickey.
I didn't book in advance for the Lucky Nugget - I went to Guest Services in the park in the morning, and booked for the next day lunchtime. I did book in advance for dinner at Cafe Mickey though, and was glad I did - it was very busy, and people were being turned away without reservations.
Elaine