Нужно ли проверять типы свойств/параметров?
тут всего скорее под "пользователем", ты имеешь ввиду программиста использующего класс.. тогда, просто укажи тип в сигнатуре метода:public function setData(int $value){
ну а если это ввод от какого-то пользователя, то его нужно валидировать до попадания в класс
P.S. Оставлять все на совести пользователей не стоит.. Входящие параметры надо ограничивать и валидировать, это упростит использование класса и предотвратит появление неявных ошибок
Например сейчас в WP есть двухгодичный баг, как раз демонстрирующий такие последствия: 
https://core.trac.wordpress.org/ticket/29750
если очень критично - можно приводить к нужному типу.