I am a non European currently studying in Germany and have a residence permit here. I want to do an internship in Switzerland for 3 months. Do I need to apply for a Swiss visa or is the German residence permit sufficient?
According to the International Association for the Exchange of Students for Technical Experience, unless you are from Japan, New Zealand, Singapore, or Malaysia you will need a visa:
The visa will be transferred to a Swiss embassy in the country of residence of the trainee and needs to be picked up there. Entering Switzerland for working purposes without a valid visa is not permitted and a visa cannot be obtained in Switzerland.
Your German visa authorizes you to travel to other Schengen states for up to 90 days in any 180-day period, but it doesn't authorize you to work in other Schengen states.