Intentando simular —en un pequeño gestor de noticias que estoy desarrollando— la forma como Wordpress elimina los acentos de los títulos de las entradas (ver función remove_accents en wp-includes/functions-formatting.php), para que las URL se vean sin problemas y mejoren el posicionamiento del sitio, encontré una referencia muy útil para hacer esa tarea de una manera sencilla usando .NET Framework 2:

csharp:
static string UrlSanitize(string url)
{
        url = Regex.Replace(url, @"\s+", "-");
        string stFormD = url.Normalize(NormalizationForm.FormD);
        StringBuilder sb = new StringBuilder();
 
        for (int ich = 0; ich < stFormD.Length; ich++)
        {
                UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[ich]);
                if (uc != UnicodeCategory.NonSpacingMark)
                {
                        sb.Append(stFormD[ich]);
                }
        }
 
        return (sb.ToString());
}