"Ereignis" is an occurence, event or happening which often has consequences of some kind. The word itself is rather neutral.
A child's brith is "ein freudiges Ereignis". To give a negative example for the word, here's an official statement of the mayor of Stuttgart September 30.th:
Es war trauriger Tag für Stuttgart. Die Vorkommnisse machen sehr betroffen. Ich bedauere sehr, dass Menschen verletzt wurden und vor allem dass Kinder und Jugendliche zu Schaden gekommen sind. (...) Auf Grund der Ereignisse am Vormittag sind die Schüler dann von den Veranstaltern aufgefordert worden, sich abweichend von der genehmigten Demonstrationsroute sofort in den Schlossgarten zu begeben.
"Vorfall" and "Zwischenfall" on the other hand are clearly negative. When to use which depends on the context. As the word "Zwischenfall" indicates it is a kind of "Vorfall" which temporarily disturbs a procedure or the routine of an institution. So it's a Vorfall that happens during the regular proceedings or routine of something else.
In a newspaper you might read something like this:
Heute Nachmittag gab es in der Altstadt während des Stadtfestest einen Zwischenfall, bei dem mehrere Menschen verletzt wurden. Ein offenbar geistig verwirrter Mann griff wahllos Passanten mit einem Messer an. Einige mussten zur Operation ins Kreiskrankenhaus gebracht werden. Der Vorfall ereignete sich zwischen 12.00 und 12.35, als der Bürgermeister gerade seine Festrede hielt. Aufgrund der Ereignisse beschloss man kurzfristig für den Rest der Feierlichkeiten die Polizeipräsens zu verdoppeln.