I would do it in 1 Default program with 4 email assets and 1 smart campaign, the setup would look something like:
Step 1, everyone will get it then Step 3 looks for people who have Filled Out Form, then do nothing, but everyone else who hasn't Filled Out Form will get the Default Choice, repeat Step 2 and 3 for other emails. This setup means everyone flows to the end even if they completed the form fill out by Flow Step 2. Let me know if you have any issues, there is other solutions.
Frank's way is totally acceptable and as he mentioned you can do it multiple ways.
I'd lean towards using an Engagement program where you can move them across streams if they fill out Form. The reason I'd go with this way is you can then send them thanks for filling form emails, send them other info related to what they are filling out that form etc. Again this could be added into the Smart Campaign, but it gets messier.
If fill out form and cease communications is your plan, I'd go with Frank's method though.
Understanding Engagement Programs - Marketo Docs - Product Documentation