If when you say templates, you are referring to document templates, then
I would suggest that you think about creating a content type for each of
your templates. You can assign a default template to a content type as
well as a workflow process. This way, when someone creates a document of
content type A, they will start with template A and then kick off
workflow A when the document is submitted.
Also, if many of these documents are similar in the metadata you wish to
collect about them, the you could start with a single parent content
type that defines the columns of metadata you wish to collect and create
children types, based off of this, that have the respective document
template and workflow assigned.