Whats the best way to check if a custom attribute exists in Magento2
You need use \Magento\Eav\Api\AttributeRepositoryInterface::get
method for this.
For example:
try {
$attribute = $this->attributeRepository->get($entityType, $attributeCode);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
// attribute does not exist
}