It comes however with the territory of useful features being often added well after other systems and features have been adopted.
Anyway, integrating Canvas and effects/shaders isn't necessarily that difficult to do (Thorsten is right, it mainyl requires an OSG::StateSet to be configurable and registered for the top-level group/element you want to see customized)- we tinkered with that several years ago, and things seemed promising already back then (based on Tom's early experiments):
http://wiki.flightgear.org/Canvas_Devel ... 2F_Shaders
All it takes is someone familiar with Canvas/OSG and FG/SG internals to take it from there and actually do the integration (ideally with commit access).
There's quite a bit of legacy code that could be phased out by doing this, i.e. so that the underlying C++ code could be unified and simplified.
Especially anything involving procedural texturing could greatly benefit from supporting effects/shaders per Canvas (or even per Canvas element).
If anyone around here is sufficiently interested and motivated (and able to patch/build SG/FG from source), I can provide plenty of code snippets, patches and resources to get you up and running within a few days of hacking.