It is important to consider the effective XP you gain catching a pokemon. As pigy takes 12 candys to evolve and an evolution grants you additional 500 XP you need to add 125 to a successful pigy catch. If you use lucky eggs while evolving this bonus will be doubled. As different pokemon need different amounts of candy to evolve this bpnus xp varies from pokemon to pokemon. Evolving a pokemon will allways grant you 500 XP, even if you evolve an already evolved pokemon. This males catching fully or partially evolved pokemon less efficient as they will only grant you the catch XP and will also be harder to catch, hencr cost you more time and resources.
TLDR:
Taking pokestops grats you 50 xp each time while catching pokemon grants you 100+throwskill+evolvebonus(+luckyegg).
In my opinion this makes catching pokemon more XP efficient than doing pokestops, if you focus on catching the richt pokemon.