Additional to x-centers you should have something for the top- and bottom-layer (if you want to solve only one center at the time):
(my buffer is UR and target is UL)
(l E l2 E' l) U2 (l E l2 E' l) // cycles UR, UL and DL (E means equitorial-slice from front to left)
(r' E r U r' E' r U) (r' E r U2 r' E' r U2) // cycles UR, UL and UB (if you do U' instead of U then its UF)
Well: there are faster algs, but these are pretty easy to learn.
And for the centers that are in your buffer-target-slice: you may have to put them away by a "u" or "d" first (and then solve them like the piece, they have gone to).
Go for it!