
Hi Davide,
You can think of SyntaxEditor like a much more powerful version of a TextBox. If you are editing multiple documents, where each document should be a tab in some kind of MDI UI, then having a separate SyntaxEditor instance for each tab is fine and probably expected.
Most SyntaxEditor events that are view/document/language related have event sink language services that can be registered on the language. That lets you encapsulate all code related to your syntax language in the language itself instead of having to handle SyntaxEditor control events. You might run into a couple scenarios where you do need to handle SyntaxEditor events for interacting with external UI though, like to update a status bar.
SyntaxEditor also supports a single SyntaxEditor instance swapping in and out documents. You can assign the current EditorDocument instance you want edited to the SyntaxEditor.Document property. But based on what you said, I don't think that's what you're after.
If you have any further questions, please give some more detail and we'll get back to you.