Thanks to @Manjenko's comment I was able to see my error.
Here is my solution:
boolean running = true;
int swReading;
int swPrevious = LOW;
void setup() {
pinMode(swPin, INPUT);
digitalWrite(swPin, HIGH);;
}
void loop() {
swReading = digitalRead(swPin);
if(swReading == LOW && swPrevious == HIGH) {
running = !running;
}
swPrevious = swReading;
if(running) {
...
}
}