Dass das Toggeln so nicht geht, ist nicht korrekt:
Doch. Zum Toggeln muss man eine 1 in das jeweilige Bit von PINx schreiben (so wie bei deinem 2. Beispiel). Überlege mal, was "PINx |= PINx" macht, wenn der Output gerade 0 ist.