The transform you retrieve from a transformable is a composition of several transforms. If I understand you correctly, what you want is to easily extract information such as position, scaling and rotation from a matrix. However, in general, there is no one to one correspondence between the transformation matrix and any combination of position, scaling and rotation.

If you look at the translation matrix itself, then yes, the position is perfectly retrievable. However, composite matrices (such as those constructed by sf::Transformable) are more complex. The matrix entries in the composite matrix corresponding to those of a translation matrix are very different. The composite matrices are a composition of translation (for setting origin), rotation, scaling and translation (for positioning), so the matrix is a lot more "mixed" up, than you would like. I suggest trying it out on paper so you can see for yourself.

In short: In general, you cannot extract information from a transformation matrix, as composition of transforms are not commutative.

EDIT: This is what the Transformable class is for. It precomputes the matrix

*and* the inverse matrix for you, and it already gives you methods such as getPosition and getScale

EDIT 2: Another point is that the transformations are affine. Let's say a point (1, 0) is transformed by some matrix T to produce the point (2, 0). What did the transformation do? Did it translate the vector, or did it scale the vector? Affine 2D transformations carries an extra column for the translations, so the transformation can also be seen as projecting 3 dimensional vector onto 2D space. This results in a loss of information.