You are correct, the complete algorithms don't parallelize the generation, mutation, crossover, and selection step. This choice has been made to simplfy the code of the ea* algorithms and because these steps usually don't require much computing power compared to the evaluation. However, if you wish to add this level of parallelism you can of course build your own algorithm with the predefined tools.
Note that it would be nice to have an fully parallel example in the example folder. If you come up with a such an example using a standard problem (onemax or tsp, for example) we will be glad to review your pull request to the
github main repo.
Cheers,
François-Michel