Many piston valves have been made as solid bobbins, with or without "oil grooves". (The theory is that leaking steam passes into the first groove, expands, and then leaks into the next groove at a much lower pressure. By the time it reaches the fourth groove it's got fed up, and the valve has now reversed direction and steam is on the other side now anyway…)
To maintain steam-tightness with such things requires that the bobbins are turned to such a dimension that at working temperature steam does not leak through to any significant extent. To that end, people have used O rings and (more usually) cast iron rings to provide a seal. It is not easy to provide the necessary porting in a piston valve bore so that the O ring isn't chewed up the first time it moves.
Material choice for the bobbins, liners and/or cylinder block is also a minefield due to dissimilar expansion rates. Non-metallic piston valve bobbins have been made from solid Fluorosint, or cunningly-designed composite arrangements whereby the sealing element can be expanded into tight contact by opposing tapers. I tried solid PEEK in my last loco but I ended up making solid stainless ones in the end. They still leak a bit more than I would like.
It only needs a small amount of detritus (ash, swarf, grit or whatever) to chew lumps out of a piston valve bobbin and/or the liner and start it leaking. Restoring such damage inevitably means renewing the bobbins, whereas with a slide valve you may get away with a quick rub of the damaged faces on an oilstone or whatever to restore the sealing surfaces.
LBSC always maintained that piston valves were easy – read up about it in for example the Speedy book…