In linea di principio, il tuo servizio non deve "accettare un form", ma accettare dei dati, ovvero nome, cognome, città, ecc.
Detto questo, non c'è motivo per cui i parametri dovrebbero fare riferimento a un form o a un controllo, tipo txtNome, perché tu non invii il controllo o il form, ma invii i dati.
Questo non è qualcosa che abbia a che fare con la genericità, ma con una correttezza formale che prevede di chiamare nel modo giusto le cose, usando dei nomi che facciano capire quello che viene veicolato.
Il fatto che altri possano richiamare il servizio è una questione non correlata: basta che sappiano che il nome va inviato con il nome di campo "txtNome".
Al massimo, vedendo i nomi dei campi, quello che potrebbero fare è porsi le stesse domande e contestazioni che sto facendo io, e di conseguenza porsi svariati dubbi sulle motivazioni di una scelta del genere e/o sulla bontà della architettura in generale.