How about a trigger for Fills Out Form and then a wait step and multiple choices on the flow portion of the smart campaign.
So if somebody filled Filled out your Newsletter form, you would trigger off that. Then in the flow you can wait for 60 seconds and do a send alert step with a choice If [Requested Catalog field] = TRUE then Send Catalog Alert to [Team email] otherwise do nothing.
That doesn't solve the problem with the fields not all being interlocked and changing as a unit.
The key is that Marketo offers no way, within the UI, to say "Does a form data payload match all of these characteristics?" (The payload can be viewed as a unit if you read the Activity Log via API -- but I just mention that for completeness, you can't reasonably process form posts that way.)