I don’t really have any pros for you. I think the best solution for most robots is to think of a Subsystem as a collection of sensors and actuators, but a system that in and of itself doesn’t do anything “smart”, except it should be self-protective. Such as react to current draw, or the like.
The Subsystem itself, should be actuated through Commands, which gives you both the clarity of what is going on within the robot, the simplicity of designing discrete functionality in small blocks, and the complexity of being able to stack individual commands together using the framework with the schedule arbitrating who has access to subsystem components.
The major con to your approach is losing all the pros that come with Command-Based.
But I do like