There are many mistakes in your program:
1. There's no "break" instruction in your switch cases.
2. You can't declare a local variable inside a switch case (it is allowed but the compiler should warn you), you must use extra braces { }.
3. Look at the documentation of the sf::Thread destructor: it blocks and waits until the thread finishes. Since you declare your sf::Thread instances locally, they will launch and immediately wait for the launched thread to finish, cancelling the benefit of using threads.