Нет заметной разницы. Они оба компилируются в один и тот же CIL .
Проверьте сами здесь
Примечание : это справедливо даже для типов, допускающих обнуление, как вы можете видеть здесь
Из Стандарт ECMA-334 C # Спецификация языка
12.11.11Оператор is
Оператор is используется для проверки совместимости типа времени выполнения объекта с данным типом. Проверка выполняется во время выполнения. Результатом операции E является T, где E является выражением, а T является типом, отличным от динамического, является логическим значением, указывающим, является ли E ненулевым и может быть успешно преобразовано в тип T с помощью преобразования ссылок,конвертирование в бокс, конвертирование в распаковку, конвертирование в конвертирование или конвертирование в конвертирование.
Обновление
Чтобы быть полностью сжатым и указанным Алексей Левенков
!(1 is null)
против 1 is object
показывает некоторую разницу, первый не будет компилироваться из-за того, что не обнуляется