Non capisco quale sia il problema...

Process.Start è il metodo migliore di avviare programmi, i parametri da usare li puoi imparare .
La sola alternativa seria è usare la funzione API ShellExecute() o ShellExecuteEx() con il verbo 'open', ma anche questa richiede parametri, ed è ovvio che anche in questo caso dovrai impararli .

Tutte le altre pseudo-soluzioni che hai menzionato sono ciofeche oltre che ad essere non praticabili, e comunque anche se lo fossero dovresti sempre impararne l'uso e relativi parametri.

Quindi, che differenza fa?