There are algorithms working in polynomial time, but for high values of the genus the exponent is high and the implementation is difficult. A nice survey is the paper of Gaudry and Harley
"Counting Points on Hyperelliptic Curves over Finite Fields"
Lecture Notes in Computer Science, 2000, Volume 1838/2000, 313-332,
which also contains explicit computations on Jacobians in the genus $2$ case.