am currently taking a look at the venues-model and maybe the slowness can happen due the fact that there is a function to collect AssignedEvents. that function is firing up query's so maybe that was causing the problem but don't know.
Hmm, also the function for assingingEvents is triggered twice for a venue-item and would say that can be reduced. Maybe better would be to remove the count of events completely.
If a user searches for something in the filter, it remains in cache so next time they return to the venuesview it is still on the filter results. The same problem exists with pagination - next time you end up on the page you were on last time.
EDIT: I just realised the filter problem exists with the eventslist too!