Puede reemplazar el BJT (2N3904) con un pequeño MOSFET de canal N (por ejemplo, MMBT7002) y perder la resistencia base.
Si puede conectar la carga entre el +12 y el MOSFET, podría reemplazar ambos transistores con un MOSFET de potencia de canal N de nivel lógico (!).
Si continúa utilizando el circuito mostrado, asegúrese de que su MOSFET de canal P tenga una clasificación de +12 más los transitorios que puedan ocurrir en la línea de + 12V. Sería fácil volar la puerta en esa parte. Puede protegerse a prueba de balas agregando un Zener más una resistencia, o un divisor, dependiendo de qué tan sucio esté su +12 y cuánta suerte tenga. Si se trata de un "12V" automotriz, use el zener . Los sistemas eléctricos automotrices (y similares) deben soportar breves transitorios que se encuentran en el rango de + 300V ~ -100V (consulte, por ejemplo, SAE J1113).
Edit: Mirando tu MOSFET, tengo dos comentarios: primero, el máximo absoluto Vgs es +/- 8V, por lo que ya estás en un territorio prohibido donde es probable que haya fallas, incluso sin transitorios. En segundo lugar, es un pequeño MOSFET con poca masa térmica y poca capacidad de disipación de energía. Su resistencia 10K provocará que se "apague" bastante lentamente, y la temperatura del dado aumentará en un grado C o dos en el 10useg o así se necesita un cambio, lo cual es un poco estresante para la parte. Un MOSFET más grande, capaz de decenas de amperios, podría ser sabio.
Editar:dondevaelzener:
simular este circuito : esquema creado usando CircuitLab
El MOSFET que sugerí tiene +/- 20V Vgs, por lo que puedes usar un Zener de 15V y una resistencia de 1K para R2. Para otros tipos (especialmente si Vgs (max) es < 15V) tendrá que calcular los números.