Hi Simon,
My understanding of what you’re looking for might be incomplete, but in general Expresso is good at controlling internal interactions between parametres. Programmers often resort to Python when it comes to custom tools and commands outside the scope of Cinema 4D, such as controlling interactions with external data sources. Ultimately, it comes down to difficulty and ease, your preference, and your proficiency in programming language versus logical equations. Otherwise, both Expresso and Python offer excellent solutions, with Python having an advantage for highly complex commands or where no existing tools can pave the way for acheiving such task. Good luck!