Cast - если возможно, лучше использовать его (не всегда есть возможность)
Parse - создан для работы со строками, если у вас есть строка, в которой хранится число, то лучше использовать этот вариант. Важно помнить, что если строка будет равна null, то метод выкинет исключение ArgumentNullException
Convert - для строк вызывает внутри себя метод Parse, при этом, если строка null, то метод не выкидывает исключение, а возвращает 0. Так же он может принимать любой объект, который реализует интерфейс IConvertible, поэтому его лучше использовать когда не известно, что именно строка придёт в метод. Ещё у Convert есть возможность конвертировать в любой тип в generic методах. Для строк Parse чуть чуть отработает быстрее, чем Convert
P.S. В интернете куча ответов на этот вопрос, учитесь искать на английском - 95% информации там