Crossbrowserfähig ist bei Bordern nichts, das heißt, wenn man den IE einberechnet.
Introduction to CSS3 – Part 2: Borders | Design Shack
Evtl. mit Border-image, aber ebenfalls nicht für die IE:
CSS Compatibility and Internet Explorer
Was noch als einfache Lösung ohne Eingriff ins Markup bleibt, ist dem Element eine (große) Hintergrundgrafik mit Verlauf zu geben und innenliegende Elemente so aufzuspannen, dass die Grafik nur noch an den Kanten sichtbar wird (border-fake). Das sollte in allen Browsern funktionieren.
Gegebenenfalls kann man den "guten" Browser einen gradient geben und für den IE ein Extrastylesheet mit anderen Angaben schreiben - muss oft genug sowieso gemacht werden.