Você está tentando s ubstitutar um padrão para outro, então você precisa usar o comando sed s , do formulário
's/pattern/replacement/'
Além disso, você precisa escapar de todos os caracteres / dentro do padrão ou das strings de substituição (no seu caso, "America\/Mexico_City" ). Então
sed 's/^;date\.timezone[[:space:]]=.*$/date.timezone = "America\/Mexico_City"/'
Como alternativa, você pode evitar barras de escape usando um delimitador de substituição de padrão diferente, como s#pattern#replacement# , por exemplo,
sed 's#^;date\.timezone[[:space:]]=.*$#date.timezone = "America/Mexico_City"#'