Question: Is a polynomial time algorithm known to find all maximal subgroups (up to conjugacy) of a given group? (by polynomial time, I mean polynomial in the input size).
If there is, please share a reference and also mention for which representation of the group the algorithm works.
If no such algorithm exists for general groups, what can we say when the group is solvable?
I have found this paper by Bettina Eick and Alexander Hulpke on maximal subgroups of permutation groups. In section 6, it is mentioned that 'An implementation of the solvable part of the algorithm shows that this method is highly efficient. Does that mean that for solvable permutation groups, their algorithm runs in polynomial time? If yes, does their algorithm also run in polynomial time for general groups?
In fact the answer to this question is no, irrespective of how the group is input. There is no known polynomial-time algorithm to solve this problem. As ahulpke pointed out, one problem is that the size of the output is not always bounded by a polynomial function of the size of the input.
Another perhaps more serious problem is that there is no sufficiently precise description in the literature of the maximal subgroups of all finite simple groups. If, for example, your input group is the alternating group $A_n$ for some large $n$, then you would need a complete list of the primitive permutation groups of degree $n$ in order to calculate the maximal subgroups. Currently such lists have been computed only up to degree $8191$.
Another example is the famous Monster simple group. We are getting very close to having a complete list of its maximal subgroups, but there are still a small number of uncertainties.
The currently available algorithms that are described in the literature and are used in GAP and Magma make use of stored lists of subgroups of the almost simple groups up to some (moderately large) order. So they are very effective on the sorts of groups with which we typically study on a computer, but they are not general algorithms, and they fail for large groups like $A_n$ for $n>4095$.
Of course you could find the maximal subgroups of any finite group by some kind of naive algorithm, but that would have no hope of being polynomial-time.