Replace the spark plugs, buy an IACV gasket from Subaru ($4 or $5), remove the IACV, use some throttle cleaner and clean the hell out of it, and replace the gasket.
Remove the intercooler, and clean your throttle body, including the back side of the throttle plate. Use an old toothbrush.
And finally, what exactly are all of your check engine codes? ALL of them.
Do the MAINTENANCE things I just suggested, it should help, but I'm willing to bet you have killed a coil pack or three. Those are expensive, $100 a pop. Pull all of the codes from the computer, write them down, post them here, THEN clear them. Drive it for a few days. If the check engine light comes back on, pull the codes again, and post them again, and we can help you figure out how many and which coil packs to replace.
As for your car being hard to start, if new plugs doesn't help that, you may need a new battery. I'd suggest having the battery and charging system tested first though.
Sounds to me like you went to a mechanic who got dollar signs in his eyes when you walked in (or was just plain dumb).