There is something called Young Symmetrizers, which allows you to do this in general. I think it is well described in Hadamards book (but I have forgotten most of it).
To extract the symmetric part, operate with the projection operator
P(a,b,c,..z) denotes a cyclic permutation: The index in position a is moved to position b, b to c, ..., and finally z to a. Please check additional sources (should be available on the web), since my memory on this may be a bit shaky.
Morton Hamermesh: Group Theory and its Applications to Physical Problems
Further decomposition depends on what you mean by decompose. Irreducible representations of the group of permutations of three objects decompose into a 1-dim symmetric, a 1-dim antisymmetric, and a 2-dim mixed symmetry representation. The space of 3-index tensors decompose in many such permutation group irreps, according to mysterious (but explict) counting rules.
The space of 3-index tensors can also be decomposed into irreps of the general (or special) linear group. This is most likely what you have in mind.
There is a duality: The number of linear group irreps of a given tensor symmetry, specified by a Young tableau, is equal to the dimension of the permutation group irrep for the same tableau.
The dimension of each linear group irrep with a given tensor symmetry, specified by a Young tableau, is equal to the number of permutation group irreps in the space of such tensors. See page 62 of the Caltech lecture notes.
If you want irreps of the orthogonal group you must decompose further, by subtracting traces.