I agree with you. Routinely making patients wait for 3+ hours shows really bad time management, or overbooking, or something. I'd be sorely tempted to check in, tell the staff they can call you on your cellphone when it looks closer to you getting in, and leave. Heck, at least you could go have lunch.

I left a doctor after showing up at 8 am for an early apppointment and noticing that the waiting room was full. Who does that? The staff admitted that it would be a 3-4 hour wait, and another patient confirmed that it always took her all day to get through an appointment. I start doubting the medical quality of someone's care when the basic movement of patients is so sloppy and inconsiderate.

A friend of mine dealt with her always-late doctor by showing up 2 hours late for her appointments. When the staff protested: "you can't do that," she just shrugged and said maybe he could learn to keep better time.
I'd definitely be tempted to put something in a suggestion box.