We've stayed at Lake City - a very small town as is Pagosa Springs. They were fine for us as we enjoy Jeeping and fly fishing.
We've stayed at South Fork but not much for our interests there. It's the smallest of the surrounding towns.
Durango or Ouray have more stores to choose from and even a movie theater if you're staying long-term.
Our first choice of all of them is Silverton - another small authenic western town in a gorgeous setting with awesome 4-wheeling.
It just depends what kind of activities you enjoy and if you really need shopping nearby.