Well, after trying D2D, I like sprites better, mainly due to design issues caused by the D2D approach:
For each 3D render-target I want to render text into, I need a matching a D2D render target. Need to track this dependencies. Also, when do we create the D2D RT - on use? on create? When do we destroy?
This also complicates some events - device lost, window resize, etc.
To create/destroy those D2D RTs, I need a wrapper around the D2D object.
Not saying those issues can't be solved, but I think that design-wise - sprites are better, since they fit more naturally into the system.