Actually $20 isn't horrible for 1-2 hours. If attending a church with a ridiculously long service, it's a rip-off, though. I wouldn't attend my old church for less than $60 WITH an option to show up late. Services routinely run 3-3.5 hours due to 1-2 hours of singing, speaking in tongues and tending to folks pretending to be passed out before the sermon is even started.
I was always careful to not show up for 0900 service before 10:15, in hopes that I would miss the pre-show. It never worked.