Shibuya crossing Starbucks is the first place that comes to mind. I think Shrines and Temples are also interesting places to watch visitors praying and making their wishes for the future. Attending street festivals are great watching all the crazy things going on - especially if there is sake thrown in :)
Anywhere with high foot traffic is a good place. Yoyogi often hosts events so you get to see a lot of different people and there usually is a theme. For example, If there's a vegetarian fair, you get to see the people dressed in "granola" (hippie) outfits. But I also recommend Harajuku, Omotesando, and Akihabara.
While people watching is usually thought to be done from a cafe or busy area like a mall, I would urge you to consider watching people from a local perspective--with locals. Helping out at a local festival, grilling some seafood at a local market, or relaxing at a park to see how Japanese children play have all been enjoyable ways I enjoyed people watching. These kind of places can be found in cities and small towns.