Hi Nico,
You are correct in your statements. If you want to execute a workflow by Workflow Name, you will have to use GetAllWorkflows() to discover the associated WorkflowID, and then use RunWorkflow(). You are correct that this is some additional overhead which could be avoided, but unfortunately there is no way to initiate a workflow via web services by calling the Workflow Name.
One thing of note is that you can see the associated WorkflowID in the Reference Manual under 'Help' in the WFA UI. That is more for reference than an automation solution, but I thought it would be good to point out.
I know this isn't the answer you were looking for, but I hope it helps anyway.
Best,
Kevin
WFA Team.