Both stages functionality and responsibilities is same. But the difference way of execution like..
In filter stage, we have to give the multiple conditions, on multiple columns. But every time data come form source system and filter the data and loads into target.
In switch stage, we have to give the multiple conditions on single column, but all data come form source only once and check all the condition in the switch stage and loads into target.
A Filter stage is used to filter the incoming data ,for suppose you want to get the details of customer 20 if u give customer 20 as the constraint in filter it will display only the customer 20 files and u can also give a reject link,the rest of the records will go into reject link.where as in the switch,we need to give as cases,like case1,case2.case1=10;case2=20;it will give the outputs of 10 and 20 customer records.switch will check the cases and execute them.