If the mesh is of unknown shape (is it even closed?) then you either have to do something fancy like use signed distance fields, voxelization, or pick a point based on the bounding box as @gaitat has suggested. The reason samples use boxes and spheres is because those shapes have very well-behaved, simple-arithmetic properties. If you want to do fancier things like pick random points inside a random shape, well... that's much tougher!
Another approach you might consider is having invisible particle emitter zones that are part of your object. Your object might be shaped, say, like a monster in a game, but the particles inside it only come from a few spherical regions within the complex, deforming mesh. Not directly from the mesh itself.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…