Which is good practice to use new template for each project or same template for all the projects?
2 answers
This totally depends on how you work. You can use process sharing to reduce maintenance effort but limit flexibility. If every project area has their own project area admin and wants to be independent and you don't have process governance requirements they could have their own process.
See https://jazz.net/wiki/bin/view/Deployment/SetupProjects as entry point.
You can look at templates as a starting point for initialization of a project area, if you want to allow projects to diverge. If you want to enforce consistency, using a master project area will work better. You can decide whether something, say a workflow or editor presentation, is to allow project area customization or to be considered Final. You can export the master project's configuration as a template to allow the best of both worlds.