A melhor maneira deve ser trocar o 5V e deixar todo o resto conectado. Caso contrário, você teria que ter certeza de que pelo menos a linha de terra está conectada antes das linhas de dados. Isso é o que os plugues padrão fazem ao conectar - os contatos de energia são maiores que os contatos de dados e se conectam primeiro.
Uma parte importante a saber é que o upstream do USB (host ou hub) reconhece um dispositivo conectado por um resistor de pull-up conectado pelo dispositivo a uma das linhas de dados. O dispositivo reconhece um upstream ativo pela presença da fonte de 5V.
Agora vamos ver o que acontece quando mudamos. Existem dois casos.
Para o dispositivo alimentado por barramento, ele perderá energia quando o 5V for desligado. Isso faz com que o pull-up caia. Sem pull up → upstream vê uma desconexão e a pilha USB do host irá lidar com isso corretamente. O upstream tem pull-downs fracos nas linhas de dados, portanto, uma vez que ele pare de conduzir as linhas de dados, porque acredita que o dispositivo será desconectado, não haverá tensão acima do solo em nenhuma das linhas ainda conectadas. Não há necessidade de desconectar as linhas de dados, portanto.
Um dispositivo auto-alimentado, por outro lado, continuará funcionando quando o barramento 5V desaparecer. Isso pode acontecer sem quaisquer travessuras de comutação em qualquer computador normal, ou seja, quando se desliga ou é enviado para suspensão. O dispositivo reconhecerá uma desconexão do fluxo ascendente. Nesse caso, o padrão USB requer que o dispositivo desligue o pull-up na linha de dados para evitar que uma corrente de fuga constante flua para um fluxo descendente. No nosso caso do switch 5V, a desconexão do pull-up será reconhecida pelo upstream como uma desconexão do dispositivo. Tanto o upstream quanto o dispositivo ainda estão energizados, mas acreditam que estão desconectados um do outro.
A reconexão do 5V será, em ambos os casos, reconhecida como um evento plug in quando o pull-up aparecer na linha de dados relevante.