We have 3 servers - one for web and app, one for search and one for sql. Should we install central admin on search server as well?
As per my experience there is no such rule on which server CA will be provision but as per practice it is basically provisioned on the app server.
By default it provision on the 1st server in farm. It's upto you on which server you want to use for CA.
I don't see any issue with search server hosting CA