Hello Mohamed
When applying policy-based routing, you can have the route map match either access lists or prefix lists. Which one you will choose depends upon what you want to achieve.
Using access lists gives you more granular control as you can specify specific hosts or ranges of addresses. You can also match source and destination IP addresses as well as Layer 4 protocols (TCP/UDP) and even Layer 4 ports.
Prefix lists are useful when you want to match particular subnets or ranges of subnets. If that is what you want to achieve, then it is preferable.
In general, access lists are used most often with PBR simply because of their granularity. Prefix lists are “more powerful” only in the sense that you can define a whole series of subnets with very concise and efficient statements (rather than just a single range of IP addresses).
Ultimately, what you use comes down to what the policy routing you want to apply requires.
I hope this has been helpful!
Laz