I have discussed this topic very often and yes there pro and con to working for a seo agency. I think the biggest difference to an in-house job is the daily pressure. In big metropolises like Berlin or London you have a large number of seo agencies. They all have their clients but they must fight against equal competitors to attract new customers. This is what I calling the macro-dimension of seo agencies.

The macro-dimension of a seo agency
Macro means everything around the seo-agency e.g. seo-industry, competitors and clients! All for themselves depend on each other. For instance, cost-saving customers induce bad climate in the industry which in turn determines the behavior of the companies which again have huge problems to attract new or to kept current clients (fit between agency and client). It produced a lot of pressure for an agency, especially if they don’t have a USP.
The micro-dimension of a seo agency
Micro means everything into the agency e.g. staff, websites and optimization-activities. Like above, it is a circle, in which each part depends on each other. Here is the website which needs optimization-activities to generate good keyword positions implemented by employees. The pressure is to find the best solutions for good keyword rankings in a short space of time.
I think primarily the micro-dimension of a seo agency is similar to a company which has an in-house seo team. The pressure to find ways for good rankings is definitely the same!