The C30 is most likely the ignition switch. I pulled the last one apart to see why it failed, and I can't believe it lasted as long as it did...they're such a cheaply made piece of rubbish.
The starting circuit on the XC90 is pretty simple. The ECM (engine computer) controls the starter relay, which provides 12V directly to pin 50 on the starter motor solenoid. This should bring in an electromagnet to switch 12V to the actual start motor and engage the starter gear.
The solenoid could be failing, or the contacts in the solenoid may be worn out. There could be a dirty / corroded / loose connection at the solenoid, the relay could be failing, the starter fuse could be poorly connecting, or the ECM might not be energising the relay in the first place.
As far as probability goes, the starter is the most likely suspect. If you take out the starter relay and bridge a wire between terminals 30 and 87 on the relay socket (or from the +ve jumpstart post to terminal 87) then the starter motor should crank the engine.
If this works all the time, then the starter is fine and the problem is a bad ECM or immobiliser, relay or the wiring (or the ignition switch).
Then it's a matter of using a test light to see if the ECM is controlling the relay properly or where else the problem is. I'd try an auto-electrician before Volvo.
I live in Belrose if you want a quick opinion - not a mechanic but happy to help.