I would at least use the Commands in that Timer implementation. The CommandExecutor is not really necessary, since the Timer is already EJB aware and can create and manage the environment (the JbpmContext).
But the code should go in the Commands in my opinion. There it will be reusable and it is in some central place. And the most important features are already present as commands...
yes, the command should definitely be executed in the command facility.
the advantage is configuration and manageability.
configuration: you might add an interceptor with configuration when the command service is used
manageability: it's much easier to explain and keep track of what is executed where. so if someone adds a configuration to the command service it might be expected that this configuration will apply to all jbpm commands...