I have same problem with my subaru liberty 92.I changed plugs ,leeds, knock sencer ,fuel and air filter, ignition coil still same problem. One subaru authorise service station charged Au$400 to fix this problem. It was ok for 3 months after so called upper engine de carbon soak/cleaning, but started again Iwent back to service station and they advised me to buy upper engine cleaner sprey cans and spray in side suction manifold wait for few minutes and start engine. It works for a while than goes back again.For sure it is carbon buil up in upper engine dont know why may be poor fuel quality or any other reason.I can say that because I had to replace this engine with second hand engine with low milage due to some other reason but after 5 months same problem .I am buying now and than upper engine carbon cleaner spray some time from subaru or some time from other stores similer kinds of cleaning sprays and upper engine lubricants, and they seems to be working untill next clean is due,but I dont trust this car now .