Why not? Does grid search need `transform`?

`transform` must be able to generalize to new data. Transductive transformers should implement `fit` and `fit_transform` only.

Your `score` method seems to be able to generalize to new data so this line should be fine:
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/cross_validation.py#L1199