I think it's somewhat a matter of personal preference, but I find I use a mixture of global and local smart lists.
I only use global smart lists for frequently used filters. Things like: delivery parameters, primary customer segments, etc. I use these in most of my programs as a top level filter for my smart campaigns. Then, at the program level, I'll ususally have smart lists that define specific mailing groups for a particular campaign, especially if I'm doing a staggered send throughout the week.
I find through primarily using local smart lists, I can keep things better organized, so that when I need to find campaign-specific stuff, it's in the program with all the creative assets.
Hope this helps!